vim 常见操作
移动光标系列
- h,j,k,l 就不用多说啦
- :number 直接快速定位到某一行
- w 向后移动一个单词,b向前移动一个单词
- $ 移动到行尾, ^ 移动到行首
- gg 移动到文件头,G移动到文件末尾
回到上次编辑的地方:
ctrl +O
ctrl + I(i)
When you move your cursor to a particular position in a file, Vim remembers this and lets you move around between where you are where you were. CTRL-O goes to the older position, and CTRL-I or tab goes to the newer one. 仅限于normal mode
from http://dailyvim.tumblr.com/post/6826612086/ctrl-o-and-ctrl-i-or-the-jumplist-or-friggin-vim-time
vim打开文件之后光标一般都在文件开头,想要跳到上次关闭文件前的位置用’0
插入
- i 在光标之前插入
- I 在一行的开头处插入
- a 在光标之后追加
- A 在一行的结尾处追加
- o 在光标所在位置的下一行打开新行插入
- O 在光标所在位置的上一行打开新行插入
复制粘贴
我们一般会从某个地方,比如网页或者其他的VIM中复制文本信息,但发现粘贴后,格式完全变了。
解决方法:
在执行前进行:
:set paste 操作
执行后也可以关闭它:
:set nopaste
如果想看它的详细情况,还可以:
:h paste
查找替换系类
- /string:查找相应的字符串, n(N) 光标跳至下一个(上一个)匹配的字符串
- ra:将当前字符替换为a,当前字符即光标所在字符
- s/old/new/ :用old替换new,替换当前行的第一个匹配
- s/old/new/g 用old替换new,替换当前行的所有匹配
- %s/old/new/g 用old替换new,替换整个文件的所有匹配
- :10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。
- ddp 交换光标所在行和其下紧邻的一行。
删除
x 删除光标所在处字符
X 删除光标所在前字符
dw 删除到下一个单词开头
de 删除到本单词末尾
dE 删除到本单词末尾包括标点在内
db 删除到前一个单词
dB 删除到前一个单词包括标点在内
dd 删除一整行
d$ 删除光标位置到本行结尾
d0(d^) 删除光标位置到本行开头
d(num)d 删除当前光标所在行的向下num行
替换
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
这个东西就是平时多用就记得住,不要则废,写着以便以后忘了的时候看看~~~~
今天就写这么多了 慢慢更新(难道csdn的博客只能保存一篇草稿箱么?之前写的没啦 晕~~~~),
多屏
:split newfile 简写 :sp 上下分屏
:vsplit newfile简写 :vsp 左右分屏
Ctrl+ww——依次向后切换到下一个窗格中
打开其它文件
:e newfile
:open newfile
:ls 显示缓存
:b num 切换文件(其中num为buffer list中的编号)
滚屏
CTRL-U显示文本的窗口向上滚动了半屏
CTRL-D命令将窗口向下移动半屏
在文本中查找下一个word
把光标定位于某个word上然后按下”*”键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索。
“#”命令是”“的反向版。还可以在这两个命令前加一个命令计数:”3“查找当前光标下的word的第三次出现。
可视化模式
v 进入字符可视化模式
V 进入行可视化模式
Ctrl+v 进入块可视化模式
块选择 Ctrl+v
在表格中删除指定列非常有用
用 v 命令进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。
用 V 命令进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。
用 ctrl-V 进入的块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。