Linux : Vim 使用与配置

2018-08-10 11:11:56来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

由于经常使用 vim 编辑配置文件,有时候也会进行使用vim 编写一些脚本和c/c++ 程序,所以配置一个常用的 vim 是很是必要的。这篇博文主要是记录vim使用和配置相关的一些知识点。

关于vim :

  vim 是比较好用的编辑器,很多linux server 都自带vi, vim 是vi 的升级版本。可以方便在linux 环境中进行安装和配置。vim主要功能是编写,并且有很好的扩展性。通过配置可以优化出适合自己的一种vim,并且可以把配置文件储存到github或者远程服务器上,当进入新的环境之中,只需要几行简单的命令,就可以还原配置。vim 有三种模式: 一般模式,编辑模式,命令行模式。通过快捷键 esc, : 可以方便得在三种模式下进行切换。如果想详细得了解 vim的使用可以阅读 《VIM USER MANUAL》,不过你只阅读本博文也是可以的。

vim 相关文件:

  1.  .viminfo : 
    • 在vim中操作的行为,vim会自动记录下来,保存在 ~/.viminfo 文件中。 这样为了方便下次处理, 如:vim打开文件时,光标会自动在上次离开的位置显示。 原来搜索过的字符串,新打开文件时自动高亮显示。 ~/.viminfo 文件是系统自动生成。
  2. .vimrc : 
    • vimrc文件是vim的环境设置文件。 整体的vim的设置是在 /etc/vimrc 文件中。 不建议修改/etc/vimrc 文件,每个用户可以在用户根目录中设置vim,新建 ~/.vimrc
  3. .vim目录:
    • .vim/ 目录是存放所有插件的地方。vim 有一套自己的脚本语言 vimscript,通过这种脚本语言可以实现与 vim 交互,达到功能扩展的目的。一组 vimscript 就是一个 vim 插件,vim 的很多功能都由各式插件实现。此外,vim 还支持 perl、python、lua、ruby 等主流脚本语言编写的插件,前提是 vim 源码编译时增加 ---enable-perlinterp、--enable-pythoninterp、--enable-luainterp、--enable-rubyinterp 等选项。vim.org 和 github.com 有丰富的插件资源,任何你想得到的功能,如果 vim 无法直接支持,那一般都有对应的插件。

vim 常用快捷键:

  1.  基本操作:
    • 移动:方向键,h, j, k, l ;  可与数字组合使用  10j, 向下10个字符, 20l:向右20个字符 ; 0 移动到行首,$ 移动到行尾; nG  n为数字,移动到第n行
    • 翻页:Ctrl + f 向下翻一页 ; Ctrl + b 向上一页;  Ctrl + d 向下半页 ; Ctrl + u 向上半页
    • 查找:/word 向下查找 word ; ?word 向上查找word;  n 重复前一次查找 ; N 重复前一次查找,反向进行
    • 删除:x 向后删除一个字符; 向前删除一个字符; nx n为数字,向后删除n个字符; dd 删除当前行;  ndd n为数字,删除n行
    • 复制:yy 复制当前行; nyy n为数字,复制向下的n行 ; y1G 复制从第一行到当前行; yG 复制当前行到最后一行 ; y0 复制从行首到光标之间的字符; y$ 复制光标所在到行尾之间的字符
    • 粘贴:p 粘贴到下一行; P 粘贴到上一行; J 将当前行和下一行合并成一行; u 还原上次操作 ;  Ctrl+r 重做上一个操作;  . 小数点,重复前一个操作
    • 编辑:i 光标所在处插入; I 当前行第一个非空字符出插入; a 光标下一个字符开始; o 下一行开始; O 上一行开始 : 进入编辑模式, esc 退出编辑模式;
    • 保存::w 保存文件; :w! 强制保存; :q 退出vim; :q! 退出不保存文件; :wq退出并保存文件, 表示进入命令行模式, esc 退出命令行模式。
    • 命令行: :! command 执行命令, 如 “:! ls -l” 列出当前目录文件; 当你发现打开文件时没有 保存权限的时候,可以通过命令行模式获取root 身份,w 保存文件。
    • vim 保存readonly 文件::w !sudo tee % : 运行外部shell命令,用 tee 把当前stdin缓冲区的数据写到当前文件(%)
    • 帮助信息: :h 查看帮助信息, :h 插件 查看对应插件的帮助信息。
    • 快速搜索:光标停留在想要查找的单词的任意一个字母上面, 然后输入Shift + *  或者 Shift+#  ,即可以向下和向上搜索光标所在的词,并且可以通过 或  N 进行上一个或下一个的匹配。此方法所有匹配单词会高亮,要取消高亮,输入:noh 来取消高亮.

 2. 块操作:

    • 进入: v, V, ctrl + v
    • 选择:v 字符选择,光标经过的地方反白选择; 行选择,光标经过的整行反白选择;Ctrl+v  块选择,长方形的方式选择
    • 复制,粘贴,删除:y 将选中的地方复制; d 将选中的地方删除;p 进行粘贴

   3. 多模式编辑     

    • 编辑下一个文件 :n 
    • 编辑上一个文件:N
    • 列出文件: files
    • 打开多个文件:vim file1 file2 , 文件之间可以进行互相复制,通过vim。这样在server中操作极为方便。

   4. 多窗口编辑:

    • Ctrl+w+j :移动下方窗口,先按Ctrl+w放开,然后 j 或者↓键
    • Ctrl+w+k :移动上方窗口
    • Ctrl+w+q :退出文件,同 :q
    • :sp [filename] :打开新窗口,filename可以为空,为空打开当前文件

 vim 常用配置选项:

  1. set nu : 显示行号 , 取消:set nonu
  2. set ruler: 显示状态栏,右下角, 取消: set noruler
  3. 等,具体使用 可参见 我的vim 配置:

vim配置(myself):

" vim 自身功能配置
set nu

" 前导键
let mapleader=";"

" 基础配置
filetype on
filetype plugin on
" 命令映射,<Leader> 表示前导键
nmap LB 0
nmap LE $
nmap <Leader>q :q<CR>
nmap <Leader>w :w<CR>
nmap <Leader>Q :qa!<CR>
" 设置快捷键遍历子窗口
" " 依次遍历
nnoremap nw <C-W><C-W>
" 跳转至右方的窗口
nnoremap <Leader>lw <C-W>l
" 跳转至方的窗口
nnoremap <Leader>hw <C-W>h
" 跳转至上方的子窗口
nnoremap <Leader>kw <C-W>k
" 跳转至下方的子窗口
nnoremap <Leader>jw <C-W>j
" 让配置变更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC
" 实时搜索
set incsearch
" vim 自动补全
set wildmenu

 

  

 

 

  

保持更新,转载请注明出处。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:linux第一阶段总结

下一篇:HTTP-点开浏览器输入网址背后发生的那点事