vim命令速记…
编辑模式 ↔ 一般模式 ↔ 命令行模式
一般模式与另外两种可以相互切换,另外两种之间无法直接切换
一般模式→编辑模式:i I a A o O r R
i 光标在当前位置编辑
I 行首编辑
a 光标的下一个字符处编辑
A 行尾编辑
o 当前行的下一行开始编辑
O 上一行开始编辑
r 对当前字符进行替换
R 对光标处之后的本行字符替换
编辑模式→一般模式: [ESC]
一般模式→命令行模式: : / ?
命令行模式→一般模式: [ESC]
j 向下一行
k 向上一行
h 向左一个字符
l 向右一个
3j 向下3行
20l 向右20个字符
20[space] 向右20个字符,与上
ctrl+f 向下一页
ctrl+b 向上一页
0或^或[end] 到本行第一个字符处
$或[home] 到本行最后一个字符
G 到最后一行
30G 到第30行
gg 到第一行
n[enter] 向下n行
/word 向下寻找名为word的单词
?word 向上寻找名为word的单词
n 重复前一个查找动作,向下查找
N 重复前一个查找动作,向上查找
:n1,n2s/word1/word2/g n1行与n2行之间查找word1,替换为word2
:1,$s/word1/word2/g 1到最后一行...
:1,$s/word1/word2/gc 提示用户对每一个替换进行确认
在linux下的VIM中替换命令的格式是;[range]s/pattern/string/[c,e,g,i]
range:指的是范围
s(search):表示搜索
pattern:就是要被替换的字符串
string:将替换pattern
C:每次替换前询问
g(globe):不询问,将做整行替换
e(error):不显示error
i:(ignore)不分大小写
x 向后删除一个字符
X 向前删除一个字符
3x 向后删除3个字符
dd 删除/剪切当前行
ndd 向下删除/剪切n行
dnG 删除/剪切光标所在行到第n行
d$ 删除/剪切光标到该行最后一个字符
d0 删除/剪切光标到该行第一个字符
yy 复制当前行
nyy 复制往下n行
ynG 复制光标所在行到第n行
... y的与d类似
p 粘贴到下一行
P 粘贴到上一行
u 撤销相当于windows下ctrl+z
ctrl+r 还原撤销 相当于ctrl+y
v 进入visual模式,即文本选择模式
ctrl+v 进入块选择模式,可选中列数据
v+ j/k/h/l 进行文本选中
对于选中的文本进行如下按键:
d:剪切操作
y:复制操作
p:粘贴操作
^:选中当前行,光标位置到行首(或者使用键盘的HOME键)
$:选中当前行,光标位置到行尾(或者使用键盘的END键)
:w 写入硬盘≈ctrl+s,write的首字母
:q 退出
:q! 强制退出
:wq 保存并退出
: w[filename] 另存为名为filename的文件
:n1,n2 w [filename] n1行到n2行的内容另存为filename文件
:! command command代表想要执行的命令
:set nu 显示行号
:set nonu 取消显示行号
:
:sp [filename] 再打开一个窗口,显示filename文件内容。不加文件名,显示同一文件内容。
ctrl+w+j 切换到下一个窗口
ctrl+w+k 上一个窗口
ctrl+w+q 退出当前窗口
vim /etc/vim/vimc 或者 vim ~/.vimrc (本文件默认不存在)
set set ts=4 #设置tab键为四个空格
set autoindent #自动缩排
复制时不要行号 如果用鼠标复制,会连行号一块选上. 在一般模式下按v进入visiual模式,选择要复制的行,然后输入 +y 就可以了.
多行缩进
a1,a2>
a1,a2< #移动多个tab就加多个符号
或者
v进入视图模式,选中相应行,然后 >
每行行首或行尾添加字符串
%s/^/xxxxx #行首
%s/$/xxxxx #行尾
m,n s/$/xxx #第m到n行尾添加xxx
正则表达式查找
magic (\m):除了$ . * ^ 之外其他元字符都要加反斜杠。
nomagic (\M):除了 $ ^ 之外其他元字符都要加反斜杠。
/\m.* # 查找任意字符串
/\M.* # 查找字符串 .* (点号后面跟个星号)
/\m999.*999 #查找999开始,999结尾的串
处理kindle书摘时的命令
g/xxx/d #删除含有xxx的行
1,$s/==========\n/\r---/g # 含有特殊字符的替换
遇到时再说…
欢迎与我分享你的看法。 转载请注明出处:http://taowusheng.cn/