`
tianshibaijia
  • 浏览: 1127217 次
文章分类
社区版块
存档分类
最新评论

vim 常用命令

 
阅读更多


1. vim 中 ctrl+c 作为一个退出文件的快捷键来使用。


在一些操作软件中,比如 有道, ctrl+c 被屏幕划词(取词)占用, 导致在vim 中,鼠标选中一行后, vim 就会断掉 。
最简单的解决方法: 使用vim 的时候, 把取词和划词功能关掉。

2:vim 中使用table 可以自动补全命令,比如

:vs + table -- > vsplit
:e + tablle --> explore
:s + table --> sexplore


3 :vim 编辑区的折行

点击v进入visual模式,移动光标选择一定区域,输入 zf 就可将相应段落折行显示,zr 可展开,恢复原状

4 : 大小之间切换
在vistual mode 下, gu , 全部变为小写, gU 全部变为大写 ,只修改光标当前位置的大小写,用 shift+ (键盘左上角的1 左边的按键)

title:用Vi/Vim/gVim处理字符的大小写转换(暨命令gu gU的灵活
url: http://space.itpub.net/519536/viewspace-589227
note: 很好的页子

5 vim 中的自动提示

在 insert mode,from XX import yy, 输入 ctrl+p,可以在当前文件(以及一些相关文件)中自动匹配,做一些提示,在type 中还是很有用的。

6:使用快捷键进行页面翻动
上 j
下 k
左 h
右 l


ctrl + f 屏幕前翻一页 (常用) front
ctrl + b 屏幕后翻一页 (常用) back
ctrl + d 屏幕后翻半页down
ctrl + u 屏幕前翻半页up
# 除了使用快捷键,键盘上的pageup, pagedown 也是可以的。但正像vim 最早的“将双手从鼠标或其它位置解放出来”,如果双手位置不动,只要停留在主键盘区就可以完成翻页的效果,何乐而不为?

7:针对一个屏幕的光标移动
+ 光标移动到非空格的下一列
- 光标移动到非空格的上一列
n<space> 按下数字后再按空格,光标向右移动这一行的n 个字符。eg: 20<space> 光标向右移动20个字符


0 或者 <home> 数字0,移动到这一行的第一个字符 (常用)
& 或者 <end> 移动到这一行的最后一个字符

8 : 针对一个屏幕的光标移动:
H 光标移动到这个屏幕最上方的一行
L 光标移动到这个屏幕最下方的一行
M 光标移动到这个屏幕最中央的一行

9 针对一个文件中光标的移动:
G 光标移动到这个屏幕最下方的一行 (相对于 gg , 移动到文件最开始的一行)
:n 移动到第n行,比如 :20 移动到第20行。 可以结合 :set number :set nu :set nonum 一起使用
还有一个功能和 :n 一样的命令是 nG , 个人感觉不如 :n 快捷, 不是吗?呵呵
n<enter> 光标向下移动n 行 (真的非常有用,这也是我决心重新学习 viim commands 的最初动机)

10: 查找与替换:
/word 在光标之后查找一个名为word 的字符串 (我个人使用的时候,一般是 先使用 gg 移到文件头,然后 再使用 /word 查找)
?word 在光标之前查找一个名为word 的字符串
# 查找是一般是区分大小写的。如果想不区分大小写,可以使用进入order 模式 :set ingorecase , 或者直接在 .vimrc 中添加 set ignorecase

*(#) 当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的下(上)一个单词 同样, 再输入 n 查找下一个匹配处, 输入 N 反方向查找


g*(g#) 与上条命令相似, 只不过它不完全匹配光标所在处的单词, 而是匹配包含该单词的所有字符串


% 查找与光标所在处相匹配的反括号, 包括 () [] { }
#如果括号嵌套较多的时候,还是很有用的


f(F)x 在光标所在行进行查找, 查找光标右(左)方第一个x字符。找到后: 输入 ; 表示继续往下找。输入 , 表示反方向查找

:n1,n2s/word1/word2/g 在第n1行与n2行之间查找word1 这个字符串,并将该字符串替换为 word2 (常用)
#note: 这里很像linxu 中的sed 命令, 比如 sed [-i] 's/word1/word2' xxx.py

:n1,n2s/word1/word2/gc 相比上一个命令增加了一个 c ,会在修改之前输入一个确认, (y/n/a/q/l/^E/^Y) y 表示替换,自动移动到下一个字符,n 表示不修改,自动移动到下一个字符,a 表示全部替换,

:q 表示放弃修改,修改完这一个后退出,


11: 删除,复制,粘贴

x 向后删除一个字符

X 向前删除一个字符
nx 数字加x, 向后删除n个字符。 比如 3x , 向后删除3 个字符
nX 类nx, 改为向前


D 或者 dd 将光标所在行剪切至剪切板,以后 输入 p, 就可以将其黏贴至文件中

dd or D 删除(剪切)光标所在的一整行
ndd 剪切光标所在列的向下n 列
d1G 删除(剪切)光标所在行到文件第一行的所有数据 (有用)
dG 删除光标所在行到文件最后一行的所有数据


yy 复制光标所在的行
nyy 数字加yy, 复制光标所在行的向下n 行。 比如 4yy, 复制光标向下的4 行


y1G 复制光标所在行到文件第一行的所有数据 (有用)
yG 复制光标所在行到文件最后一行的所有数据


p 将剪切的数据黏贴在光标的下一列(如果剪切板中是一行),下一个位置 (一个字符)
P 将剪切的数据黏贴在光标的上一列

J 将光标所在的列与下一列的数据整合成一列

u or U 恢复前一个动作 (我一直疑心u 和 U 表示的含义是一样的))
ctrl+r 重做

i 在当前光标所在列之前插入字符
I 在当前光标所在行首插入字符

a 在当前光标所在列之后插入字符
A 在当前光标所在行末插入字符

o 在光标所在列的下一列添加一行,并且进入可编辑模式
O 在光标所在列的上一列添加一行,并且进入可编辑模式

r 替换光标所知的那一个字符
R #note 看不出 R r 什么区别

esc 退出当前模式,回到一般模式

命令行模式:
:w 将编辑的数据写入硬盘中 (常用)
:w! 若文件属性为只读,强制写入该文件

:q 退出vim, 快捷方式为 shift + zz #note: 其实 :q 命令本身已经很快捷了,没有必要再去快了,再说也不安全, 不是吗?
:q! 若曾修改过文件,又不想保存,使用! 强制退出不保存文件,快捷方式 shift+zq , 建议如上

:wq! 强制保存后退出

:w filename 将当前文件保存为另外一个文件 (类似另存新文档)
:r filename 在编辑的文件中,读入另一个文件中的内容,即将filename这个文件内容加到光标所在行的后面 #BIG NOTE 非常炫,非常有用
:n1,n2 w filename 将当前文件的n1 到 n2 内容保存为 filename 这个文件

:set nu 显示行号,在每一行的前面显示该行的行号 nu 的全称为number
:set nonu 取消行号
:set nohlsearch 取消高亮显示

12: 针对一行中选取
进入visual 模式进行光标移动的选取自然可以。如果需要从某一个位置一直选取到行首或行尾, 可以使用:
将光标移到起始位置, 点击v进入visual 模式,^, 就可以选取至行首; 同样, $ 就可选取至行尾。

13: screen 的锁定和解锁
ctrl + s: vim 屏幕锁定
ctrl + q: vim 屏幕解锁

14: vim 用spaces 替换table 的几种方法
method 1:
在VIM中如何使得源码中的TAB全部用相应的空格替换?比如四空格.
在.vimrc中设置自动语法对齐后能不能设置用空格来补充前面的对齐位? [/quote]

:set ts=4
:set expandtab
:%retab
tabstop, table 键的占位符, table 的宽度为 4, 其实这个也可以调整,知道达到你需要的缩进效果
expandtab 扩展 table 键盘的功能
如果打开一个已存在的文件,并不会将所有的tab 替换为空格。如果希望这样的替换的话,可以使用 :retab


method 2:

使用 sed:
sed -i 's/\t/ /g' test.py

method 3:
自己的,也是最好的方法:
在文件中,使用这种形式,(table 和 space 都可可以直接输入,vim 可以识别)
:s/jia/luo/gc (严格来说,应该是这样的东西::%s/jia/luo/gc)

分享到:
评论

相关推荐

    vim常用命令vim常用命令vim常用命令

    vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令vim常用命令

    VIM常用命令大全

    VIM常用命令大全VIM常用命令大全VIM常用命令大全VIM常用命令大全

    vim常用命令速查表

    vim常用命令速查手册,是png图片格式的,使用方便。

    vim常用命令总结

    vim编辑器中常用的命令总结,以图片和树状结构的形式完美的总结了vim中常用命令。如:查找名,修改命令,删除命令

    vim常用命令整理

    主要是整理了一些vim最常用的命令,基本够用了,整理成pdf,便于打印一份,放在手边

    Vim常用命令详细汇总(全)

    vim常用命令 我汇总的一些vim常用的指令和按键操作,和一些NERDTree菜单插件的命令,尤其是NERDTree,这个vim插件装上之后,感觉完全可以把vim当IDE来用,实在是我辈码农的装逼利器。 1. 功能指令 按键 解释 ...

    vim常用命令.docx

    vim常用命令.docxvim常用命令.docxvim常用命令.docxvim常用命令.docx

    Vim常用命令汇总

    常用的Vim命令,分类汇总了一下。可以打印出来作为一张表,记不住的就查一下。相比那么多的教程之类的,这个方便多了。记住了这个就相当于熟练掌握了Vim,剩下的就是多练习。

    Linux vim常用命令

    供IC设计者或使用Linux系统做项目,使用vim语句打开或编辑文件,入门以及总结学习使用

    vim常用命令(Vim.ppt)

    vim常用命令 Vim.ppt 欢迎使用

    vim常用命令.txt

    vim常用命令,概括了linux下使用的一些vi命令,帮助大家学习

    vim常用命令速查

    vim常用命令速查 ,思维导图表示,方便快速记忆

    FreeBSD Vim 常用命令

    FreeBSD Vim 常用命令 很好的资源

    Vim 常用命令

    vim常用命令 非常好的资料 学习vim很好的资料

    含有vim常用命令的桌面背景图片

    众所周知,vim是Linux下面最重要的编辑器了~ 而对vim命令的学习是学好vim的重中之重~这张壁纸上面集中了vim的一些常用命令, 把它当作的桌面背景,随时随地可以查看vim命令~

    vim常用命令及使用.doc

    vim常用命令及使用.docvim常用命令及使用.docvim常用命令及使用.docvim常用命令及使用.docvim常用命令及使用.docvim常用命令及使用.docvim常用命令及使用.docvim常用命令及使用.docvim常用命令及使用.docvim常用命令...

    vim常用命令1

    VIM 常用命令命令模式 按 a/i/o 进入 插入模式插入模式 按 exe 退回到 命令模式命令模式 按 : 可以进入编辑模式插入命令在命令模式下a 在光标所

    VIVIM常用命令

    VI/VIM常用命令整理,方便打印记忆

Global site tag (gtag.js) - Google Analytics