VIM,神一样的编辑器,Linux平台下的标配,互联网行业Linux服务器代码编辑必备工具之一,结合作者使用总结,优点如下:

  • 不依赖鼠标,完全命令行操作(这才是真正的程序员)
  • 强大的组合快捷键(会带给你意外的惊喜)
  • 体积小巧,配置灵活(强大的插件,可以配置出大型IDE才有的功能)
  • 习惯之后操作效率极高(就像打字一样,越打越熟)
  • Linux发行版基本上都已经默认安装了
  • 配置文件:

    • 配置文件一般位于/etc/vim/vimrc,有的系统位于/etc/vimrc,这是全局配置,也可以在用户目录配置~/.vimrc~/.vim/vimrc
    • 配置文件主要配置一些永久性的配置命令,如显示行号set nu
  • 模式:

    • 普通模式(一般模式):vim filename之后进来的就是普通模式,编辑、命令行模式下按esc键也可以退回到普通模式
    • 编辑模式(以下快捷键均基于普通模式下操作)

      • 光标前插入i进入编辑模式
      • 行首插入I进入编辑模式
      • 光标上一行插入o(小写)进入编辑模式
      • 光标下一行插入O(大写)进入编辑模式
    • 视图模式(以下快捷键均基于普通模式下操作)

      • 单字选择模式v(小写)进入视图模式
      • 整行选择模式V(大写)进入视图模式
    • 命令模式

      • 普通模式下,按:可以直接进入命令模式进行输入命令操作,常用命令下面介绍
  • 快捷键:

    • 移动光标(普通模式、视图模式)

      • 向上k、向下j、向左h、向右l
      • 行首shift + ^、行尾shift $
      • 前一单词b、下一单词w、移到词尾e
      • 向上半屏ctrl + u、向下半屏ctrl + d
      • 向上一屏ctrl + b、向下一屏ctrl + f
      • 屏幕最上一行第一个字符H
      • 屏幕中间一行第一个字符M
      • 屏幕最下一行第一个字符L
      • 移到第一行gg、移到最后一行G
      • 移动到上一个{(花括号开始)[{
      • 移动到下一个}(花括号结束)]}
    • 复制粘贴(普通模式、视图模式)

      • 复制一行yyY
      • 复制多行y + number + y,number代表复制的行数,以光标所以的行开始往下数
      • 粘贴,p(小写)粘贴到光标之后(如果是复制整行,则粘贴到光标所在行的下面)
      • 粘贴,P(大写)粘贴到光标之前(如果是复制整行,则粘贴到光标所在行的上面)
      • PS:复制也可以按v(小写,单个字符选择)V(大写,整行选择)进入视图模式进行选择,选择完成后按y完成复制
    • 删除、剪切(普通模式、视图模式)

      • 删除、剪切光标覆盖的单个字符x(小写)
      • 删除、剪切光标前的单个字符X(大写)
      • 删除、剪切当前行dd
      • 删除、剪切多行d + number + d,number代表复制的行数,以光标所在的行开始往下数
      • PS:删除、剪切也可以按v(小写,单个字符选择)V(大写,整行选择)进入视图模式进行选择,选择完成后按d删除、剪切
    • 查找

      • 查找/filter,filter是要查找的字符串,回车确认
      • 查找下一个n
      • 查找上一个N
    • 自动补全(在编辑模式下)

      • 代码补全ctrl + x + nctrl + nctrl + p,仅限于代码上下文中已经存在的代码文本进行补全
      • 路径补全ctrl + x + f
  • 常用命令:

    • 保存文档:w
    • 关闭文档:q,强制关闭(注意,这个会直接退出不提示是否保存):q!
    • 重新打开文档:e
    • 显示行号:set nu,隐藏行号:set nonu
    • 粘贴模式:set paste,关闭粘贴模式:set nopaste
    • 设置制表符宽度:set tabstop=4,4为宽度,可以换成你想要的数字,一般一个制表符宽度为4个字符
    • 使用空格代替制表符:set expandtab
    • 设置编码格式:set fenc=utf-8
    • 关闭vi的键盘模式,使用vim自己的:set nocompatible
    • 语法高亮:syntax on
    • 高亮显示当前行:set cursorline
    • 显示标签栏:set showtabline=2
    • 在状态栏上显示当前所在的行数和列表数

      • :set ruler
      • :set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
  • 我所使用的vim配置文件

    配置文件一般存放于/etc/vimrc~/.vim/vimrc
""""""""""""""""""""""""""""""
" 文本格式和排版
""""""""""""""""""""""""""""""
" 继承前一行的缩进方式
set autoindent

" 设置制表符宽度为4
set tabstop=4

" 统一缩进为4
set shiftwidth=4
" set softtabstop=4

" 使用空格代替制表符
set expandtab

" 不要换行
"set nowrap

""""""""""""""""""""""""""""""
" 一般设定
""""""""""""""""""""""""""""""
" 设置默认编码
set fenc=utf-8
set fencs=utf-8,gb2312,gbk

" 不要使用vi的键盘模式,而是vim自己的
set nocompatible

" history文件中需要记录的行数
set history=10000

" 在处理未保存或只读文件时候,弹出提示
set confirm
" 语法高亮
syntax on

" 显示行数
set nu

" 高亮显示当前行
set cursorline
hi CursorLine cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE

" 显示标签栏
set showtabline=2

" 显示不同的底色色调
" set bg=dark

" 支持退格删除文字
set backspace=indent,eol,start

""""""""""""""""""""""""""""""
" 文件设置
""""""""""""""""""""""""""""""
" 不要生成备份文件
set nobackup

" 在状态上显示当前所在的行数和列数
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)

" 搜索的时候忽略大小写
set ignorecase 

" 设置编码
set encoding=utf-8

""""""""""""""""""""""""""""""""""""""""
" 函数补全功能(只有是PHP文件的时候)
""""""""""""""""""""""""""""""""""""""""
au FileType php call AddPHPFuncList()
function AddPHPFuncList()
    set dictionary-=/home/hai191273/.vim/doc/php_funclist.txt dictionary+=/home/hai191273/.vim/doc/php_funclist.txt
    set complete-=k complete+=k
endfunction

""""""""""""""""""""""""""""""""""""""""
" taglist插件
""""""""""""""""""""""""""""""""""""""""
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1

""""""""""""""""""""""""""""""""""""""""
" 设置NerdTree
""""""""""""""""""""""""""""""""""""""""
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>

标签: vim, 编辑器

仅有一条评论

  1. 欢迎加入 Typecho 大家族

添加新评论

  • 上一篇: 没有了
  • 下一篇: 没有了