SpartacusIn21

专注:c++,python,d3d,设计模式,人工智能,并行计算

vim常用命令

模式切换
vim编辑器有三种模式,一般模式,编辑模式和命令模式。三种模式及模式间切换操作如下图(摘自http://linux.vbird.org/linux_basic/0310vi.php)所示。


一般模式
进入Vim编辑器后,默认就是一般模式,该模式下,主要实现光标的移动、复制剪切粘贴、字符查找与替换等。
a)光标的移动
hjkl
左下上右 移动光标
G
文件尾
gg
文件首
nG
去往n行,n尾阿拉伯数字
w
下一个单词首
b
上一个单词首
0
行首
$
行尾
u
复原上一个操作(撤销)
上面这些命令在前输入阿拉伯数字n,都可以达到执行n次的效果。比如nX,就可以向左删除n个字符。
ctrl+r
重做上一个操作(反撤销)
ctrl+F
向后翻页
ctrl+B
向前翻页
ctrl+D
向后翻半页
ctrl+U
向前翻半页
ctrl+o  
回到光标的上个位置

b)复制剪切粘贴
yy
复制整行
yw
复制光标之后的单词剩余部分
x
向右删除当前光标下的字符
X 
向左删除当前光标下的字符
de
删除到本单词末尾
dE
删除到本单词末尾包括标点在内
db
删除到前一个单词
dB 
删除到前一个单词包括标点在内
dw
删除光标之后的单词剩余部分
d$
删除光标之后的该行剩余部分
dd
剪切整行(也可以理解为删除整行)。c 功能和d相同,区别在于完成删除操作后进入INSERT MODE cc也是删除当前行,然后进入INSERT MODE
p
向后粘贴数据
P
向前粘贴数据

c)查找字符
/word
回车后执行查找命令,n为向下查找,N为向上查找。直到执行查找下一个字符命令前,n和N一直有效。
左端匹配使用/\<word,右端匹配使用/word\>,全字匹配使用/\<word\>

d)查找替换
:n1,n2s/word1/word2/g
将n1行到n2行之间的所有word1替换为word2
:1,$s/word1/word2/gc 
将第一列到最后一列之间的word1替换为word2,在替换前给出提示确认

编辑模式
在一般模式下,按下i/I(插入),o/O(开始新一行),a/A(追加),r/R(替换)就能进入编辑模式,大小写的区别是往前还是往后开始编辑。
o/O,a/A,r/R
进入编辑模式
Esc
回到一般模式

命令模式
:w
将改动保存到文件中
:w!
强制将改动保存到文件,成功与否跟用户权限有关
:q
退出vim
:q!
强制退出vim
:wq
保存改动并退出vim
:wq!   强制保存并退出
ZZ
文件无改动则直接退出,否则保存后再退出
:w [filename]
将编辑的文件另存为文件filename
:r [filename]
读入filename文件到光标处
:n1 n2 w [filename]
将n1行到n2行的内容存储到filename文件中
:! command
在vim下执行命令command并将结果展示出来
:set nu
设置行号
:set nonu
取消设置行号

区块操作(Visual Block)
v               
字符选择,将光标经过的地方反白色选择
V
行选择,将光标经过的行全部选择
ctrl+v
以正方形的方式选择区块
y
复制区块
d
删除区块
p
将选择区块多行编辑方式粘贴

多文档多窗口编辑
a)多文档编辑
使用vim同时打开多个文件,如vim hosts etc/hosts,然后使用下列命令来切换编辑的文档。
:n
编辑下一个文档
:N
编辑上一个文档
:files
列举vim当前打开的所有文件

b)多窗口编辑
vim o/O[n] file1 [file2 ... filen]
同时打开n个窗口编辑文件,o对应上下分栏,O对应左右分栏
:sp [filename]
开启两个视窗,有filename就打开新的文件,否则同一份文件打开两次
【ctrl+w】+j
同时按下ctrl和w,松开后再按下j(或向下方向键)就能编辑下一个文件
【ctrl+w】+k
同时按下ctrl和w,松开后再按下k(或向上方向键)就能编辑上一个文件
【ctrl+w】+q 
同时按下ctrl和w,再按下q就能离开多窗口编辑模式

 

一张图搞定vim命令

说了这么多,将下图设置成桌面背景或者打印出来贴到电脑边,一张图就搞定了。

 

 

posted on 2017-06-12 16:45  SpartacusIn21  阅读(501)  评论(0编辑  收藏  举报

导航