zl程序教程

您现在的位置是:首页 >  工具

当前栏目

vim命令速记

Vim命令 速记
2023-06-13 09:15:03 时间

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 取消显示行号
:

  • 一般小写是往后,对应大写是往前。
  • 活用数字,比如33j是光标向下移动33行。

多窗口功能

: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/