作为一个linux内核开发工作者,vim真的必须得学会掌握。这里我列举几个常用的:
:w #保存文件
:wq或zz #保存并退出
x #删除光标所在字符
dd #删除当前行
gg #定位到首行
u #撤回操作
[Ctrl]+r #重做上一个动作。
:5,10d #删除5到10行
ctrl + f #屏幕'向下'移动一页
ctrl + b # 屏幕'向上'移动一页
0 或功能键[Home] #这是数字: 0 “:移动到这一行的最前面字符处
$ 或功能键[End] #移动到这一行的最后面字符处
G #将文件移动到此文件的最后一行
n<Enter> #n 为数字。 光标向下移动 n 行
/keyword #向下搜索 keyword
?keyword #向上搜索 keyword
:n1,n2s/word1/word2/g #n1 与 n2 为数字。 在 n1 和 n2 行之间寻找 word1 这个字符串, 并将该字符串替换为 word2 ! 举例来说,在 100 到 200 行之间搜寻 cird 并取代为 VBIRD 则:
『:100,200s/vbird/VBIRD/g』。
:1,$s/word1/word2/g #从第一行到最后一行查找 word1 字符串,并将该字符串替换为 word2
r #进入取代模式
Ctrl + Z #挂起 Vim 到后台
fg #从后台恢复 Vimvim还有一个高级的用法就是用vim阅读内核源码:首先需要在根目录下执行ctags -R 这个命令会生成索引文件,ls -l tags查看索引文件。
找不到需要下载ctags,运行sudo apt-get install exuberant-ctags
然后vim中:
1.ctrl + ] #跳转到函数或者变量的定义
2. ctrl + o #返回到原来的位置
3. g ctrl +] #跳转到函数或者变量的定义,这个比第一个多一个选择。当你某次用某个进程编辑vim的时候,可能因为网络问题或者中断问题,没有保存vim的编辑内容。
但是vim会自动保存一个xxx.swp文件,以实现内容暂存。再一次用vim打开这个文件的时候,可以按下如下按键:
R:加载暂存文档的内容;D:删除暂存文档的内容;O:打开此文件为只读文件;vim 1.txt 2.txt 3.txt #可以用vim一次性打开三个文件
#然后有如下指令查看
:n #编辑下一个文件
:N #编辑下一个文件
:files #列出目前这个 vim 的开启的所有文件:vsp #水平分割 上下两个窗口
:sp #垂直分割 左右两个窗口sudo apt update
sudo apt install vim-gtk #安装支持剪贴板的 Vim 版本
:echo has('clipboard') #现在应该返回 1
:version # 查看是否包含 +clipboard
"+y #复制选中内容到剪贴板
"+p #粘贴剪贴板内
"+yy #复制整行
:%y+ #复制整个文件 set number "显示行号
syntax on "语法高亮
set paste "粘贴不自动缩进
set ruler "右下角显示位置
set hlsearch "搜索高亮
set fdm=indent "indent缩进折叠,syntax语法折叠
set pastetoggle=<F9> "F9粘贴设置切换
set mouse-=a "鼠标选择文字不会进入visual模式
set ic "set ic忽略大小写(ignore case), set noic 不忽略大小写
set cscopequickfix=a-,c-,d-,e-,f-,g-,i-,s-,t- "cscope打开quickfix窗口
"set ts=4 "一个tab键等于4个空格宽度
"set sw=4 "按<键和>键缩进时,移动4个空格
"set expandtab "tab转化为空格
"colorscheme desert "支持的color查看/usr/share/vim/vim82/colors/(vim82是vim版本)