一、vim支持多文件操作
-
打开多个文件:
-
1.vim还没有启动的时候:
在终端里输入
vim file1 file2 … filen便可以打开所有想要打开的文件 -
2.vim已经启动
输入
:open file
可以再打开一个文件,并且此时vim里会显示出file文件的内容。 -
同时显示多个文件:
- :split 或者 :sp 水平分屏
- :vsplit 或者 :vs 垂直分屏
-
-
在文件之间切换:
- 1.文件间切换
- Ctrl+6—下一个文件
:bn—下一个文件
:bp—上一个文件
对于用(v)split在多个窗格中打开的文件,这种方法只会在当前窗格中切换不同的文件。
- Ctrl+6—下一个文件
- 2.在窗格间切换的方法
- Ctrl+w+方向键——切换到前/下/上/后一个窗格
- Ctrl+w+h/j/k/l ——同上
- Ctrl+ww——依次向后切换到下一个窗格中
- 可以在配置文件.vimrc中配置按键映射,将三键操作映射成双键方便操作
- 1.文件间切换
二、.vimrc
配置文件
- 配置文件保存路径,用户家目录下,用户家目录下没有这个文件,就直接新建一个.vimrc文件
- Windows:
C:\User\username\.vimrc
- Windows创建隐藏文件需要用
CMD
命令创建type nul> .vimrc
创建一个空文件 powershell
中创建命令"" > .vimrc
- 将空字符串写入
.vimrc
文件
- 将空字符串写入
- Windows创建隐藏文件需要用
- Linux:
~/.vimrc
- Windows:
配置文件修改完成后,保存退出,重开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 = "<C-]>"
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上的地址插件链接红框地址
" 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
安装Python Language Server
https://github.com/palantir/python-language-server#installation
- 效果图
- 模块自动智能提示
- 自定义的函数、变量等也有智能提示
基本上实现了轻量级IED的功能
- 模块自动智能提示