Vim 文本编辑器_及使用技巧
来源:互联网 发布:马上6是什么软件 编辑:程序博客网 时间:2024/05/22 03:43
Vim简介
Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器。它的作用是建立、编辑、显示文本文件。
Vim只有命令,没有菜单
Vim工作模式
插入命令
a: 在光标所在字符后插入
A: 在光标所在行行尾插入
i: 在光标所在字符前插入
I: 在光标所在行行首插入
o: 在光标下插入新行
O: 在光标上插入新行
定位命令
:set number :设置行号(可以简写为set nu)
:set nonumber:取消行号(可以简写为set nonu)
gg: 到第一行
G:到最后一行
nG:到第n行
:n:到第n行
$:移至行尾
0(零):移至行首
删除命令
x:删除光标所在处的字符
nx:删除光标所在处后的n个字符
dd:删除光标所在行,ndd删除n行
dG:删除光标所在行到文件末尾内容
D:删除光标所在处到行尾内容
:n1.n2d:删除指定范围的行
复制和剪切命令
yy:复制当前行
nyy:复制当前行以下n行
dd:剪切当前行
ndd:剪切当前行以下n行
p、P:粘贴在当前光标所在行下或行上
替换或取消命令
r:取代光标所在处的字符
R:从光标所在处开始替换字符,按Esc结束
u:取消上一步操作
搜索和搜索替换命令
/string:搜索指定字符串,搜索时忽略大小写:set ic
n:搜索指定字符串的下一个出现位置
:%s/old/new/g:全文替换指定字符串
:n1,n2/s/old/new/g:在一定范围内替换指定字符串
保存和退出文件
:w:保存修改(write)
:w new_filename:另存为指定文件
:wq:保存修改并退出
ZZ:快捷键,保存修改并退出
:q!:不保存修改并退出
:wq!:保存修改并退出(文件所有者及root可用)
注意:
#chmod u-w /文件
# vi 文件 提示W10: Warning: Changing a readonly file
:wq 无法保存
:wq!成功保存(仅root和文件所有者可以使用)
Vim使用技巧
- 导入某文件到当前文件中
- :r 文件名
- 不退出Vim时,查询命令位置
- :! which 命令
- 导入命令执行结果 (前两者的结合)
- :r ! 命令
结果:
- :r ! 命令
- 定义快捷键
- :map 快捷键 触发命令
- eg: :map ^p I#< ESC >
- 注意:^是Ctrl+V生成的,而不是Shift+6产生的
- :map < F1 > < Esc >
就可以把 < F1 > 映射到 < Esc > 上,之后按 < F1 > 就和按 < Esc > 一样。这可以修改已有的快捷键。
如果想删除,可以用:
:map < Esc > < Nop >
< Nop > 是个特殊的功能,表示无操作。所以上面那条就可以关闭 < Esc > 的功能,相当于删除快捷键。
但要注意,如果这两个映射你都有定义,那么 < F1 > 映射到 < Esc > 而后者又映射到 < Nop > 相当于 < F1 > 也间接映射到 < Nop > 了。如果你不希望递归映射,可以使用 noremap 来代替 map,比如:
:noremap < F1 > < Esc >
这样你再映射 < Esc > 并不会对 < F1 > 产生影响。
- 连续行注释:
- :n1,n2s/^/#/g(g表示不需要确认)
- :n1,n2s/^#//g(n1到n2行行首的#去掉,//之间为空表示删除)
- :n1,n2s/^/\/\//g(\转义符,区分/是分隔还是字符)
- 替换
- :ab mymail hhhhhh@Linux.com
- Vim编辑时敲击mymail 回车 ,会输入hhhhhh@Linux.com
- 保存自定义快捷键和替换信息:
- 将命令写入家目录下.vimrc(写入此文件时不加:)
- Vim 文本编辑器_及使用技巧
- 文本编辑器Vim-Vim使用技巧
- 使用vim文本编辑器的几条小技巧
- 文本编辑器vim的使用技巧
- 使用Vim文本编辑器
- Linux系统--文本编辑器vim的使用技巧
- Linux系统--文本编辑器vim的使用技巧
- 文本编辑器使用技巧
- VIM编辑器使用技巧
- VIM编辑器使用技巧
- Vim编辑器使用技巧
- vim编辑器使用技巧
- vim编辑器使用技巧
- vim编辑器使用技巧
- vim文本编辑器的使用
- vim文本编辑器的使用
- (Linux)vim编辑器的使用及常用技巧
- Vim编辑器的使用技巧
- Fiddler抓包4-工具介绍(request和response)
- maven多环境打包
- 【OpenCV图像处理】二十二、图像边缘检测(上)
- spring4 发送email
- [Leetcode]Count The Repetitions
- Vim 文本编辑器_及使用技巧
- 强联通分量的KOSARAJU算法
- Machine Learning第九讲[推荐系统] --(一)基于内容的推荐系统
- Win7 开发WCF时 提示 进程不具有此命名空间的访问权限
- SkinnedMesh原理及一些应用
- Kibana实践
- 链接收藏
- request用getQueryString()获取参数中文转码问题
- threejs 鼠标移动控制模型旋转