vim的最常用的用法
来源:互联网 发布:上海cnc编程招聘信息 编辑:程序博客网 时间:2024/05/22 00:17
1.剪切,复制,粘贴
用v选中文本之后:
y:复制
d:剪切
无v选中文本:
d$:剪切当前行光标所在的位置到行尾
d^:剪切当前行光标所在的位置到行首
dd:剪切一行
ndd:从光标所在行开始剪切N行
2.剪切1-10行到20行
:1,10 m 20
2光标移动--
1. 按屏幕移动
(1) 最常用的几个命令如下:
Ctrl + f // 向前(往行号大的方向移动)移动一屏,想来F代表Forward
Ctrl + b // 向后移动一屏,B的话应该是Before吧
当前屏幕首行:H
当前屏幕末行:L
当前屏幕中央:M
z. // 把当前行移动到屏幕中央,不用回车,切记
fx //往右移动到 x 字符上
w,W //w:将光标右移一个字。光标停留在下一个字的字首位置
0:移到行首
$:得到行尾
3.字符串替换
:[range]s/{pattern}/{string}/[flags]
全词匹配:
:%s/\<string1\>/string2/g (如果是string1=,则会替换,其他不会)
flags 有如下四个选项
c confirm,每次替换前询问;
e error, 不显示错误;
g globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;
i ignore,忽略大小写
这些选项可以合并使用,如cgi表示不区分大小写,整行替换,替换前询问
:%s/str1/str2/g 替换每一行中所有str1为str2 常用!
:s/str1/str2/g 替换当前行所有str1为str2
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
4.快捷搜索:
如果要搜索,一般命令是: ":/thisisaverylongword"
但是这样输入thisisaverylongword, 这个很长的单词很难输入, 所以有更简单的办法:
把光标置于thisisaverylongword之上, 然后按*键,或者#键即可直接进行搜索.
*键是向下搜索, #键是向上搜索.
5.同时查看多个文件,并同时显示
vi file1 file2 file3
:n 切换到文件2 (n=next)
:e# 或 :N 切换回到刚才编辑的文件
vi file1 file2 file3
:n 切换到文件2 (n=next)
:N 切换到上一个文件
:e filaname (跳转到指定文件,:ls列出当前打开的文件
在vim下
:sp 另外一个文件的路径及文件名
vim -o filename1 filename2 水平分割窗口
vim -O filename1 filename2 垂直分割窗口
:e file 不会分割窗口
:sp file 将会水平分割窗口
:vsp file 将会垂直分割窗口
6.在vim中执行shell命令
1.vim中执行shell命令,有以下几种形式
1):!command不退出vim,
并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容例如:!ls -l
:r !command将shell命令command的结果插入到当前行的下一行例如:r !date
:1,3 !command 将文本中第一行到第三行的内容输入到命令command中进行处理,
并将第一行到第三行的内容替换为命令的执行结果
52 !bash,那么会把第52行的内容也就是ls -l作为命令执行,同时命令的输出结果会替换第52行的内容,注意其中的区别。
2):!bash来启动一个bash shell并执行命令,不需要退出vim,通过命令exit回到原先的编辑状态
7.文件对比
1. 使用vim的比较模式打开两个文件:
vim -d file1 file2
或
vimdiff file1 file2
2. 如果已经打开了文件file1,再打开另一个文件file2进行比较:
:vert diffsplit file2
如果没有用vert命令,diffsplit则会分上下两个窗口。
3. 如果已经用split方式打开了两个文件file1,file2,又想比较两文件的不同。
分别在两个窗口里面输入命令:
:diffthis
4. 如果更改了某个窗口的内容,vim又没有自动更新diff检查,可以使用如下命令更新:
:diffupdate
5. 定位到不同点:
[c 跳到前一个不同点
]c 跳到后一个不同点
6. 在窗口间跳转:
ctrl-w w 跳到下一个窗口
ctrl-w h 跳到左侧窗口
ctrl-w l 跳到右侧窗口
ctrl-w j 跳到下方的窗口
ctrl-w k 跳到上方的窗口
7. 合并文档:
dp 将差异点的当前文档内容应用到另一文档(diff put)
do 将差异点的另一文档的内容拷贝到当前文档(diff get)
8. 上下文的展开和查看
比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数为3行,可以这样设置:
:set diffopt=context:3
zf 创建折叠(使用数字表示创建有当前行到下多少行的折叠,比如3j就创建包括4行的折叠)
zo 打开折叠(l也可以打开折叠)
zc 关闭当前折叠
zm 关闭所有折叠
zr 打开所有折叠
zE 删除所有折叠
zd 删除当前折叠
za 若当前打开则关闭,若当前关闭则打开
zj 到下一折叠的开始处
zk 到上一折叠的末尾
用v选中文本之后:
y:复制
d:剪切
无v选中文本:
d$:剪切当前行光标所在的位置到行尾
d^:剪切当前行光标所在的位置到行首
dd:剪切一行
ndd:从光标所在行开始剪切N行
2.剪切1-10行到20行
:1,10 m 20
2光标移动--
1. 按屏幕移动
(1) 最常用的几个命令如下:
Ctrl + f // 向前(往行号大的方向移动)移动一屏,想来F代表Forward
Ctrl + b // 向后移动一屏,B的话应该是Before吧
当前屏幕首行:H
当前屏幕末行:L
当前屏幕中央:M
z. // 把当前行移动到屏幕中央,不用回车,切记
fx //往右移动到 x 字符上
w,W //w:将光标右移一个字。光标停留在下一个字的字首位置
0:移到行首
$:得到行尾
3.字符串替换
:[range]s/{pattern}/{string}/[flags]
全词匹配:
:%s/\<string1\>/string2/g (如果是string1=,则会替换,其他不会)
flags 有如下四个选项
c confirm,每次替换前询问;
e error, 不显示错误;
g globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;
i ignore,忽略大小写
这些选项可以合并使用,如cgi表示不区分大小写,整行替换,替换前询问
:%s/str1/str2/g 替换每一行中所有str1为str2 常用!
:s/str1/str2/g 替换当前行所有str1为str2
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
4.快捷搜索:
如果要搜索,一般命令是: ":/thisisaverylongword"
但是这样输入thisisaverylongword, 这个很长的单词很难输入, 所以有更简单的办法:
把光标置于thisisaverylongword之上, 然后按*键,或者#键即可直接进行搜索.
*键是向下搜索, #键是向上搜索.
5.同时查看多个文件,并同时显示
vi file1 file2 file3
:n 切换到文件2 (n=next)
:e# 或 :N 切换回到刚才编辑的文件
vi file1 file2 file3
:n 切换到文件2 (n=next)
:N 切换到上一个文件
:e filaname (跳转到指定文件,:ls列出当前打开的文件
在vim下
:sp 另外一个文件的路径及文件名
vim -o filename1 filename2 水平分割窗口
vim -O filename1 filename2 垂直分割窗口
:e file 不会分割窗口
:sp file 将会水平分割窗口
:vsp file 将会垂直分割窗口
6.在vim中执行shell命令
1.vim中执行shell命令,有以下几种形式
1):!command不退出vim,
并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容例如:!ls -l
:r !command将shell命令command的结果插入到当前行的下一行例如:r !date
:1,3 !command 将文本中第一行到第三行的内容输入到命令command中进行处理,
并将第一行到第三行的内容替换为命令的执行结果
52 !bash,那么会把第52行的内容也就是ls -l作为命令执行,同时命令的输出结果会替换第52行的内容,注意其中的区别。
2):!bash来启动一个bash shell并执行命令,不需要退出vim,通过命令exit回到原先的编辑状态
7.文件对比
1. 使用vim的比较模式打开两个文件:
vim -d file1 file2
或
vimdiff file1 file2
2. 如果已经打开了文件file1,再打开另一个文件file2进行比较:
:vert diffsplit file2
如果没有用vert命令,diffsplit则会分上下两个窗口。
3. 如果已经用split方式打开了两个文件file1,file2,又想比较两文件的不同。
分别在两个窗口里面输入命令:
:diffthis
4. 如果更改了某个窗口的内容,vim又没有自动更新diff检查,可以使用如下命令更新:
:diffupdate
5. 定位到不同点:
[c 跳到前一个不同点
]c 跳到后一个不同点
6. 在窗口间跳转:
ctrl-w w 跳到下一个窗口
ctrl-w h 跳到左侧窗口
ctrl-w l 跳到右侧窗口
ctrl-w j 跳到下方的窗口
ctrl-w k 跳到上方的窗口
7. 合并文档:
dp 将差异点的当前文档内容应用到另一文档(diff put)
do 将差异点的另一文档的内容拷贝到当前文档(diff get)
8. 上下文的展开和查看
比较和合并文件的时候经常需要结合上下文来确定最终要采取的操作。Vimdiff 缺省是会把不同之处上下各 6 行的文本都显示出来以供参考。其他的相同的文本行被自动折叠。如果希望修改缺省的上下文行数为3行,可以这样设置:
:set diffopt=context:3
zf 创建折叠(使用数字表示创建有当前行到下多少行的折叠,比如3j就创建包括4行的折叠)
zo 打开折叠(l也可以打开折叠)
zc 关闭当前折叠
zm 关闭所有折叠
zr 打开所有折叠
zE 删除所有折叠
zd 删除当前折叠
za 若当前打开则关闭,若当前关闭则打开
zj 到下一折叠的开始处
zk 到上一折叠的末尾
0 0
- vim的最常用的用法
- vim 用法大全 -葵花宝典,含泪推荐,个人最常用的
- VIM最常用的命令
- vim 最常用的命令
- vim最常用的功能
- Vim最常用的命令
- 最常用的vim快捷键
- vim最常用的快捷键
- vim编辑器的常用用法
- MessageBox的最常用用法
- NSCharacterSet 最常用的用法
- ButterKnife最常用的用法
- 最常用的100vim命令
- VIM最常用的几个操作
- 我最常用的几个VIM命令
- vim最常用的命令集合
- dom4j 最常用最简单的用法
- dom4j 最常用最简单的用法
- Java四类八种数据类型
- 关闭WebView时报 java.lang.IllegalArgumentException: Receiver not registered:
- python 字典
- WORDPRESS升级MARKDOWN编辑器代码段出现实体如何解决
- 用户登录记住密码
- vim的最常用的用法
- GetDlgItemText()的使用
- 强者联盟——Python语言结合Spark框架
- 谷歌TPU优化新进展:数据吞吐提升15倍、每瓦特性能猛增
- python列表操作实例源码讲解(创建、使用、更新、删除)
- 很全的Android开发者资料网址(持续更新)
- js封装ajax
- 随机数
- Bi面试题集锦