vim的使用

Vim编辑器菜鸟教程

Vim官方手册中文版

作为一个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      #从后台恢复 Vim

vim还有一个高级的用法就是用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版本)