vim多文件操作以及.vimrc配置文件

一、vim支持多文件操作

  • 打开多个文件:

    • 1.vim还没有启动的时候:
      在终端里输入
      vim file1 file2 … filen便可以打开所有想要打开的文件

    • 2.vim已经启动
      输入
      :open file
      可以再打开一个文件,并且此时vim里会显示出file文件的内容。

    • 同时显示多个文件:

      • :split 或者 :sp 水平分屏
      • :vsplit 或者 :vs 垂直分屏
  • 在文件之间切换:

    • 1.文件间切换
      • Ctrl+6—下一个文件
        :bn—下一个文件
        :bp—上一个文件
        对于用(v)split在多个窗格中打开的文件,这种方法只会在当前窗格中切换不同的文件。
    • 2.在窗格间切换的方法
      • Ctrl+w+方向键——切换到前/下/上/后一个窗格
      • Ctrl+w+h/j/k/l ——同上
      • Ctrl+ww——依次向后切换到下一个窗格中
      • 可以在配置文件.vimrc中配置按键映射,将三键操作映射成双键方便操作

二、.vimrc配置文件

  • 配置文件保存路径,用户家目录下,用户家目录下没有这个文件,就直接新建一个.vimrc文件
    • Windows:C:\User\username\.vimrc
      • Windows创建隐藏文件需要用CMD命令创建 type nul> .vimrc 创建一个空文件
      • powershell中创建命令 "" > .vimrc
        • 将空字符串写入.vimrc文件
    • Linux: ~/.vimrc

配置文件修改完成后,保存退出,重开vim配置文件就生效了,或者在vim命令模式执行source ~/.vimrc

下面是部分配置信息 .vimrc

  • " 是vimrc文件的注释
set number
syntax on

" 设置缩进
set smartindent
set tabstop=4
set shiftwidth=4
set ai!

" python-mode
let g:pymode_python = 'python3'
let g:pymode_trim_whitespaces = 1
let g:pymode_doc = 1
let g:pymode_doc_bind = 'K'
let g:pymode_rope_goto_definition_bind = ""
let g:pymode_lint = 1
let g:pymode_lint_checkers = ['pyflakes', 'pep8', 'mccabe', 'pylint']
let g:pymode_options_max_line_length = 120

" Specify a directory for plugins
" " - For Neovim: ~/.local/share/nvim/plugged
" " - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')

Plug 'mhinz/vim-startify'

Plug 'python-mode/python-mode', { 'for': 'python', 'branch': 'develop' }

if has('nvim')
	Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
	Plug 'Shougo/deoplete.nvim'
	Plug 'roxma/nvim-yarp'
	Plug 'roxma/vim-hug-neovim-rpc'
endif

" 快速注释插件  gcc
Plug 'tpope/vim-commentary'

" Use release branch
"Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Or latest tag
"Plug 'neoclide/coc.nvim', {'tag': '*', 'branch': 'release'}
" Or build from source code by use yarn: https://yarnpkg.com
"Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}

Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}}

" Initialize plugin system
call plug#end()

set completeopt-=preview

" 自动插入头信息
autocmd BufNewFile *.py,*cc,*.sh,*.java exec ":call SetTitles()"

" 定义函数
func SetTitles()
	if &filetype == 'python'
		call setline(1, "\# -*- coding: utf-8 -*-")
		call setline(2, "\# @File Name    :  ".expand("%"))
		call setline(3, "\# @Author       :  cd ")
		call setline(4, "\# @Created Time :  ".strftime("%c"))
		call setline(5, "")
		call setline(6, "")
	endif

endfunc

"新建文件后,自动定位到文件末尾 
autocmd BufNewFile * normal G

  • 插件管理器使用
    • 以安装的插件写入~/.vimrc,这里以vim-airline插件为例:
    • 安装路径是GitHub上的地址插件链接红框地址
    • vim多文件操作以及.vimrc配置文件_第1张图片
" Specify a directory for plugins 
call plug#begin('~/.vim/plugged')
 "以安装ycm插件为例
Plug 'vim-airline/vim-airline'
 
" Initialize plugin system
call plug#end()
  • 切换到命令行模式,依次输入
    • PlugStatus
    • PlugInstall
    • 就可以安装插件了,使用vim plug可以方便的管理插件
  • 查看插件类型:
    • :PlugStatus
  • 安装插件:
    • :PlugInstall
  • 更新插件:
    • :PlugUpdate
  • vim-plug本身更新:
    • :PlugUpgrade
  • 删除插件:
    • :PlugClean

Vim补全插件:coc.nvim

此插件依赖node环境,安装之前需求安装node环境

  • node环境安装
    • curl -sL install-node.now.sh/lts | bash
  • 补全插件安装
    • Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}}
  • coc.nvim只是一个平台,它能够允许你安装各种语言插件,达到不同语言的补全效果。
    • 添加语言插件的vim命令为CocInstall。
    • 比如添加python、html、json、css的语言支持,只要在vim中输入命令:
    • :CocInstall coc-pyls coc-json coc-html coc-css
    • 对应的部分语言的拓展,需要了解更多此插件内容请访问GitHub
      vim多文件操作以及.vimrc配置文件_第2张图片
      安装Python Language Server
      https://github.com/palantir/python-language-server#installation
  • 效果图
    • 模块自动智能提示
      vim多文件操作以及.vimrc配置文件_第3张图片
    • 自定义的函数、变量等也有智能提示
      vim多文件操作以及.vimrc配置文件_第4张图片
      基本上实现了轻量级IED的功能

你可能感兴趣的:(Linux)