linux之vim命令
来源:互联网 发布:足彩数据接口 编辑:程序博客网 时间:2024/05/01 08:45
vim的工作模式
vim有三种工作模式, 用户可以自由切换
- 命令模式(Command): vi/vim的默认模式, 输入命令
- –从其它模式切换到命令模式: <ESC>键
- –很多命令以冒号(:)开始, 命令后加叹号表示强制执行
- –命令前可以跟数字n表示重复该命令n次
- 插入模式(Insert): 插入文本
- –从命令模式, 通过命令 i I a A o O s S 等进入
- 普通模式(normal)或者可视模式(Visual): 高亮并选定正文
- –从命令模式, 通过命令v 切换, 移动光标选定, x删除一个字符,dd删除一行字符,J可以把两行合并为一行,也就是说行之间的换行符被删除或者 y 复制
- 如果不晓得现在是处於什麽模式,可以多按几次 [ESC],系统如发出哔哔声就表示已处于指令模式下了。
进入和退出vim
- 进入: 在命令行下输入 vi 或者 vi filename (如果filename不存在则创建,存在则打开)
- 退出: 在命令模式下输入
:wq保存并退出
:wq! 强制保存并退出
:q退出
:q!强制退出
:x如果有改动则保存并退出, 否则直接退出
:w filename另存为
filename :e重新读入当前文件
插入文本
- 在命令模式下,输入下述命令进入插入模式,开始插入文本
i 在光标前插入 I 在本行最后插入 a 在光标后插入 A 在本行开头插入 o 在当前行下方插入 O 在当前行上方插入 cw 改变光标开始的那个单词 C 替换自光标至行尾的文本 s 替换当前位置的字符 S 替换当前行 r 以单个字符替换当前字符 R 自光标开始替换
删除文本
进入命令模式<ESC>,输入下述命令删除文本
4x 删除自当前光标开始的4个字符
dw 删除自当前光标位置开始的单词
dd 删除当前行
10dd 删除当前光标位置开始10行
d$ 删除当前光标位置至行尾的文本
dG 删除当前光标位置至文件尾的文本
:n,m d 删除n行到m行的文本
:.,+5 d 删除当前行开始的5行文本
注意: 上述被删除的文本都存放在临时缓冲区中, 可以通过 p 命令粘贴到当前光标位置
移动光标
进入命令模式<ESC>,移动光标
h 光标左移一个字符 l 光标右移一个字符 j 光标下移一行 k 光标上移一行 w 光标前移到下一个单词开始 b 光标后移到下一个单词开始 10g 光标到第10行
w 光标前移到下一个单词开始 b 光标后移到下一个单词开始 10g 光标到第10行
xg光标移动到第几行
gg光标移动到第一行 G 光标到最后一行 % 移动光标到匹配的另一半括号
缓冲区
- 复制或删除的内容总是先存放在缓冲区中,缺省是放在匿名缓冲区中,例如
yy 将当前行复制到缓冲区 yw 将光标开始单词复制到缓冲区 yh 将光标左边的字符复制到缓冲区 p 将缓冲区内容粘贴到光标前 P 将缓冲区内容粘贴到光标后
命名缓冲区: a-z (替换), A-Z (附加)
- a-z缓冲区,内容每次复制进来时会替换掉原有内容
- A-Z缓冲区,内容每次复制进来时被附加在原有内容后
"ayy 将当前行内容复制到a 缓冲区 "a10yy 将当前开始的10行内容复制到a 缓冲区 "ap 将a 缓冲区的内容粘贴在当前光标前 "Add 将当前行删除, 内容附加到A 缓冲区
搜索与替换
- 在命令模式下输入下述命令搜索文本,注意vi用的是正则表达式,意味着输入 1+1会匹配 1111111,而不会匹配"1+1"
:set ignorecase 表示搜索时忽略大小写的
用/命令进行搜索
/regexp 向前搜索匹配regexp的字符串 n 继续搜索 N 反向搜索 ?regexp 向后搜索匹配regexp的字符串 :s/regexp/s2 将本行第一个匹配regexp的字符串替换为s2 :s/regexp/s2/g 将本行所有匹配regexp的字符串替换为s2 :1,$ s/regexp/s2/g 将文件中所有匹配regexp的字符串替换为s2
其它
u 取消上次命令
CTRL-R (重做)来反转撤消的动作。换句话说,它是对撤消的撤消。 J 当前两行合并成1行 << 当前行左缩进一个tab 10>> 当前行开始的10行右缩进一个tab :set 查看/修改当前设置 :help 寻求帮助
0 0
- linux之vim命令
- linux之vim命令
- linux命令之vim
- Linux学习之vim命令
- Linux命令之VIM编辑器
- linux之vim命令使用
- Linux命令之vi/vim
- linux常见问题之vim 查找替换命令
- linux 命令系列之vim(14)
- Linux命令之vi(vim类似)
- vi或vim搜索之</><?>---linux命令
- Linux 常用命令之 vim(最基本的 Vim 命令)
- LINUX VIM命令
- linux VIM命令
- Linux VIM 命令详解
- linux vim命令详解
- linux vim命令详解
- Linux vim基本命令
- Eclipse出现Failed to create the part's controls
- 写出float x 与“零值”比较的if语句——一道面试题分析
- char*与LPCTSTR,LPTSTR的转换
- 通过QEMU 和 IDA Pro远程调试设备固件
- android使用ant编译APK
- linux之vim命令
- penStack笔记三 Glance
- [leetcode] 41. First Missing Positive 解题报告
- AFNetWorking的实现分析以及简单使用
- java后台接口调用
- Swift中的optional
- VBA资料
- PhotoView的点击事件遇到的问题
- Could not initialize class kafka.network.RequestChannel