vim使用整理

删除操作

dw 从光标处删除至词尾
d$ 从光标处删除至行尾
dd 删除整行

显示光标位置及文件状态: CTRL-g
跳转到文件中的某一指定行: n+SHIFT-G
n:数字,代表行号, 省略的话, 默认跳转到最后一行
查找字符串: /
n查找下一个  /Shift-N反向查  /逆向查?代替/  
查找替换:s/old/new/g 替换old为new
替换两行间出现的每个匹配串:#,#s/old/new/g 替换两行间出现的每个匹配串(#,#代表的是两行的行号)。
(#,#代表的是两行的行号)
:%s/old/new/g 替换全文  
:%s/old/new/gc全文替换时确认每次替换--添加 c   

:! 执行外部命令
:w FILENAME改动保存到文件
:#,# w FILENAME ** 保存部分内容;#,#行号(顶行,底行)
:r FILENAME 插入外文件内容-->从光标处置入

插入模式
o --光标下一行行首  
O --光标上一行行首  
a --光标位置后插  
A --光标行末后插  
  

R --连续替换多个字符
J --两行连起来
CTRL-R --redo
w --光标前跳一词到词首
b --与w相反
e --移到下一词末
ge -- 移到前一词末
$ --光标到当前行尾
^ --光标到当前行第一个非空字符
0 --零 一行的第一字符

f/F:单字符查找
fx --查找本行中字符 x。"F" 用于向左查找。
tx --与 "fx" 相似,但只把光标移到目标字符的前。

提示:"t" 表示 "To"。这个命令的反向版本是 "Tx"。  
可";"重复;","反向重复。(光标永不移出当前行)  

G:到指定行--"33G"把你送到33行
50% 到中间,"90%"到近尾。
H,M,L:分别代表移到当前视野的Home, Middle, Last处

:set number 会在每行加行号

常用"操作符-动作",设为单字符命令:
x 表示 dl (删除当前光标下的字符)
X 表示 dh (删除光标左边的字符)
D 表示 d$ (删除到行尾)
C 表示 c$ (修改到行尾)
s 表示 cl (修改一个字符)
S 表示 cc (修改一整行)

还有很多方法可以删除文本。这是一些经常用到的:
x 删除光标下的字符("dl"的缩写)
X 删除光标前的字符("dh"的缩写)
D 从当前位置删除到行尾("d$"的缩写)
dw 从当前位置删除到下一个单词开头
db 从当前位置删除到前一个单词的开头
diw 删除光标上的单词(不包括空白字符)
daw 删除光标上的单词(包括空白字符)
dG 删除到文末
dgg 删除到文首

保留原始文件

:set patchmode=.bak
当第一次编辑 data.txt,修改并执行存盘,Vim 会保留一个名为"data.txt.bak" 的原始文件。

你可能感兴趣的:(linux,vim,vi)