28vim编辑器
Posted zhongguiyao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了28vim编辑器相关的知识,希望对你有一定的参考价值。
vim编辑器
文本编辑器,字处理器
ASCII
nano, sed
vi: Visual Interface
vim: VI iMproved
全屏编辑器,模式化编辑器
Vim命令的选项及其意义
选项 注释
-c command 在对文件进行编辑前,先执行command命令 -r filename 恢复文件filename -R filename 以只读方式编辑文件 +n filename 打开文件,并定位于第n行 + filename 打开文件,定位至最后一行 +/PATTERN :打开文件,定位至第一次被PATTERN匹配到的行的行首
VIM的语法着色功能尤其重要:编辑bash脚本时,都会用一种特殊的颜色显示出来,如果没有颜色,我们甚至可以理解为语法错误
vim模式:
编辑模式(命令模式)
输入模式
末行模式
模式转换:
编辑-->输入:
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;
输入-->编辑:
ESC
编辑-->末行:
:
末行-->编辑:
ESC, ESC
一、打开文件
# vim /path/to/somefile vim +# :打开文件,并定位于第#行 vim +:打开文件,定位至最后一行 vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
vim file 若file存在则打开file
若file不存在则新建file
默认处于编辑模式
二、存盘及退出
末行模式保存和关闭文件
:q 退出 :wq 保存并退出 :q! 不保存并退出 :w 保存 :w! 强行保存 :wq --> :x
:wq! 强制保存退出
:qa 全部退出
编辑模式下退出
ZZ: 保存并退出
其他:
:! 命令 在vim中执行外面命令
:w file 另存为file
:r file 读入file
三、移动光标(编辑模式)
逐字符移动:
h: 左 l: 右 j,+,Enter: 下 k,-: 上 #h: 移动#个字符;
以单词为单位移动
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
#w:
行内跳转:
0: 绝对行首 ^: 行首的第一个非空白字符 $: 绝对行尾
行间跳转
1G=gg 跳转到文件的首行
G 跳转到文件的尾行
#G 跳转到文件的#行(命令模式)
:# 跳转到文件的#行(末行模式)
末行模式下,直接给出行号即可
四、翻屏
PgUp 向上翻动一整页内容 = Ctrl + b
PgDn 向下翻动一整页内容 = Ctrl + f Ctrl+d: 向下翻半屏 Ctrl+u: 向上翻半屏
五、删除单个字符
x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符
六、删除操作
d命令跟跳转命令组合使用;
x 删除光标处的单个字符 = Del
dd 删除光标所在行
#dd 删除包括当前光标所在行在内的#行;
d^ 从光标处之前删除至行首
d$ 从光标处删除到行尾
末行模式下: StartADD,EndADDd .: 表示当前行 $: 最后一行 +#: 向下的#行
七、粘贴命令 p
p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制 或删除的内容为非整行,则粘贴至光标所在字符的后面;
P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制 或删除的内容为非整行,则粘贴至光标所在字符的前面;
八、复制和粘贴
yy 复制当前光标所在行 #yy 复制当前光标向下#行 p 粘贴 在末行模式中复制 :1,3y 复制1-3行
九、修改:先删除内容,再转换为输入模式
c: 用法同d命令
十、替换:r
R: 替换模式
十一、编辑操作
u:撤消前一次的编辑操作
连续u命令可撤消此前的n次编辑操作
#u: 直接撤消最近#次编辑操作
撤消最近一次撤消操作:Ctrl+r
十二、重复前一次编辑操作
.
十三、可视化模式
v: 按字符选取
V:按矩形选取
十四、查找
字符串的查找(末行模式)
/world 向下查找world
?world 向上查找world
n 定位下一个匹配的字串
N 定位上一个匹配的字串
十五、查找并替换
在末行模式下使用s命令
ADDR1,[email protected]@[email protected] 1,$ %:表示全文
字符串的替换(末行模式)
:s/old/new 将当前行中查找到的第一个字符“old” 串替换为“new” :s/old/new/g 将当前行中查找到的所有字符串“old” 替换为“new” :#,#s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new” :%s/old/new/gc 在整个文件范围内替换所有的字符串“old”为“new并对每个替换动作提醒
十六、使用vim编辑多个文件
vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
退出
:qa 全部退出
十七、分屏显示一个文件
Ctrl+w, s: 水平拆分窗口 Ctrl+w, v: 垂直拆分窗口 在窗口间切换光标: Ctrl+w, ARROW :qa 关闭所有窗口
十八、分窗口编辑多个文件
vim -o : 水平分割显示
vim -O : 垂直分割显示
十九、将当前文件中部分内容另存为另外一个文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere
二十、将另外一个文件的内容填充在当前文件中
:r /path/to/somefile
二十一、末行模式基本操作
:set nu|nonu 显示/不显示行号 :syntax on|off 启用/关闭语法高亮 :set hls|nohls 开启/关闭查询结果高亮显示 :set ai 启用自动缩进
:set autoindent 启用自动缩进
:set noai 关闭自动缩进 :set tabstop=4 表示把tab键的宽度设为4个空格
显示忽略或区分字符大小写
:set ignorecase
:set ic
:set noic
查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch
其他相关文件
在vim ~/.vimrc文件中
.filename.swp 编辑过程中的缓存文件
vimtutor:vim课程
配置文件
/etc/vimrc
~/.vimrc
VIM 补全:
最常用的补全方式应该是CTRL-N和CTRL-P补全了。它们会在当前缓冲区、其它缓冲区,以及当前文件所包含的头文件中查找以光标前关键字开始的单词。智能补全不能对局部变量进行补全,而CTRL-N和CTRL-P补全则可以很好的胜任
CTRL-P一般的含义是向上,因此CTRL-P补全是向上查找以进行补全,而CTRL-N是向下查找以进行补全,在不同场合使用不同的快捷键可以加速补全的速度。
vim中其它的补全方式包括:
整行补全 CTRL-X CTRL-L 根据当前文件里关键字补全 CTRL-X CTRL-N 根据字典补全 CTRL-X CTRL-K 根据同义词字典补全 CTRL-X CTRL-T 根据头文件内关键字补全 CTRL-X CTRL-I 根据标签补全 CTRL-X CTRL-] 补全文件名 CTRL-X CTRL-F 补全宏定义 CTRL-X CTRL-D 补全vim命令 CTRL-X CTRL-V 用户自定义补全方式 CTRL-X CTRL-U 拼写建议 CTRL-X CTRL-S
你可以在vimrc中设置这两个变量,例如:
let g:SuperTabRetainCompletionType = 2 let g:SuperTabDefaultCompletionType = "<C-X><C-O>"
现在你可以使用TAB来进行补全了,就像在shell中那样,方便了很多!
参考:
https://blog.easwy.com/archives/advanced-vim-skills-auto-complete/
以上是关于28vim编辑器的主要内容,如果未能解决你的问题,请参考以下文章