在windows使用vim-gvim

下载gvim

中文文档:https://github.com/yangyangwithgnu/use_vim_as_ide

修改配置

在_vimrc加下面配置

set gfn=Courier_New:h10
colorscheme torte
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set encoding=utf-8
set termencoding=cp936
language messages zh_CN.UTF-8
source D:\Program Files (x86)\Vim\vim81\delmenu.vim
source D:\Program Files (x86)\Vim\vim81\menu.vim

常用配置

1 "乱码设置
2 "-----------------------------------------------------------------
3 let &termencoding=&encoding
4 set fileencodings=utf-8,gbk,gb18030,gb2312,cp936,ucs-bom,latin1
5
6 "常用设置
7 "-----------------------------------------------------------------
8 set showmatch "高亮显示匹配的括号
9 set matchtime =2 "高亮括号的闪烁时间
10 set shiftwidth =4 "自动缩进符
11 set tabstop =4 "tab制表符
12 set softtabstop =4 "4个空格符视为tab符
13 set expandtab "tab符视为空格符
14 set smarttab "使用退格键时辨别tab
15 set number "行号显示
16 "set cursorline "突出显示当前行
17 set lbr "折行显示时不折断单词
18 set guifont=Consolas:h16 "Consolas字体和16字号
19 "set guifont=Courier_New:h16 "Courier_New字体和16字号
20 "set guifont=新宋体:h16:cGB2312 "新宋体,16字号,gb2312编码方式
21 set nobackup "不生成备份文件~
22 set noswapfile "不生成交换文件.swp
23 "set lines=30 columns=100 "启动时窗口大小设置
24 au GUIEnter * simalt ~x "启动时窗口最大化
25 "set nowrap "不折行
26 "set guioptions+=b "添加水平滚动条
27 filetype indent on "载入相关缩进格式实现自动缩进
set autoindent ''自动对齐
set smartindent ''智能选择对齐方式
filetype on "检测文件的类型
set nowrap 指定不折行
set mousemodel=popup 当右键单击窗口的时候, 弹出快捷菜单。
set guioptions+=b 添加水平滚动条
set guifont=Bitstream\ Vera\ Sans\ Mono\ 9 设置图形界面下的字体。
set spell 打开拼写检查
set et 编辑时将所有 Tab 替换为空格
set smarttab 当使用 et 将 Tab 替换为空格之后, 按下一个 Tab 键就能插入 4 个空格
autocmd FileType php set omnifunc=phpcomplete#CompletePHP自动补齐php代码

terminal

gvim8.1出现新功能,只需在命令行输入ter即可拥有控制台

set gcr=n-v-c:ver25-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor
"使得terminal的光标变为细线,而不是默认的粗条。这个在vim的普通模式和插入模式都会生效。
以特定高度/行数打开:
:ter ++rows=2
在下方打开
set splitbelow

使用

1 一、编辑模式(i键光标停在左侧,a键光标停在右侧)
2
3 1.补全:ctrl + p,按住ctrl键再按p键可以进行代码选择,按Enter键确认
4
5
6 二、命令模式(Esc键)
7
8 1.复制、粘贴、删除
9 (1)yy :光标所在行,复制整行
10 (2)y5y :光标所在行往下数,复制5行
11 (3)p :光标所在行,粘贴
12 (4)5p :光标所在行往下数,粘贴5次
13 (5)dd :光标所在行,删除整行
14 (6)d5d :光标所在行往下数,删除5行
15
16 2.搜索
17 (1)搜索单个单词 :*键
18 (2)搜索单词局部 :/需要选中的代码,按Enter键。
19 (3)搜索字符“/” :需添加\,如“//”表示搜索字符“/”
20 (4)向上搜索 :N
21 (5)向下搜索 :n
22 (6)退出 ::noh,按Enter键
23
24 3.跳转
25 (1)文件头 :gg
26 (2)文件尾 :G
27 (3)第7行 ::7,按Enter键
28 (4)行头 :^
29 (5)行尾 :$
30
31 4.替换
32 (1)局部替换 :第20行到第30行的i0替换成i1::20,30s/i0/i1/gc,按Enter键,按y表同意替换,按n表跳过的替换
33 (2)全局替换 ::%s/i0/i1/gc,按Enter,按Enter键,按y表同意替换,按n示跳过替换
34
35 5.分窗口
36 (1)上下窗口 ::sp,按Enter键
37 (2)左右窗口 ::vs,按Enter键
38 (3)退出 ::q,按Enter键
39
40 6.列操作:
41 (1)选中 :按住Alt键,用鼠标键选中范围
42 (2)删除 :选中需要删除的范围,按删除键
43 (3)插入 :输入数据,再按ese退出
44
45
46 三、列操作模式(命令模式下按ctrl + q键)
47
48 1.选中 :hjkl表示左下上右
49 2.删除 :按delete删除
50 3.插入 :按I再输入数据,按ese退出
51 4.鼠标 :可先鼠标选中范围,再ctrl+q进入列操作模式
52 5.如果不习惯,建议直接使用命令模式下的列操作方法
53
54
55 四、其他常用功能
56
57 1.代码文件对比功能
58 菜单 >>> 文件 >>> 分割比较,把文件添加进来,gVim自动分成两个窗口,自动将异同显示高亮
59
60 2.录制命令功能
61 qa开始录制,开始操作命令,q结束录制,100@a表示重复命令100次
在这里插入图片描述
在这里插入图片描述

gVim多标签设置

1 打开注册表
在这里插入图片描述
2 修改command值为"H:\Program Files(x86)\Vim\vim81\gvim.exe" -p --remote-tab-silent “%1”

插件

https://blog.csdn.net/zzyczzyc/article/details/83244516

扫描二维码关注公众号,回复: 10049786 查看本文章
emmet

let g:user_emmet_expandabbr_key = ‘’

状态栏

https://github.com/vim-airline/vim-airline #修改快捷键
https://github.com/powerline/fonts
https://github.com/runsisi/consolas-font-for-powerline
https://github.com/vim-airline/vim-airline-themes

" 设置中文帮助
set helplang=cn
" 设置为双字宽显示,否则无法完整显示如:☆
set ambiwidth=double
" 总是显示状态栏
let laststatus = 2
let g:airline_powerline_fonts = 1 " 使用powerline打过补丁的字体
let g:airline_theme=“dark” " 设置主题
" 开启tabline
let g:airline#extensions#tabline#enabled = 1 "tabline中当前buffer两端的分隔字符
let g:airline#extensions#tabline#left_sep = ’ ’ "tabline中未激活buffer两端的分隔字符
let g:airline#extensions#tabline#left_alt_sep = ‘|’ "tabline中buffer显示编号
let g:airline#extensions#tabline#buffer_nr_show = 1
" 映射切换buffer的键位
nnoremap [b :bp
nnoremap ]b :bn
" 设置字体
set guifont=Powerline_Consolas:h14:cANSI

主题(solarized)

https://github.com/altercation/vim-colors-solarized

let g:solarized_termcolors=256
"let g:solarized_visibility=“high”
"let g:solarized_contrast =“high”
set t_Co=16
set background=dark
colorscheme solarized
highlight Normal ctermbg=NONE
highlight nonText ctermbg=NONE
set guifont=DejaVu\ Sans\ Mono\ 10
set antialias

目录树

https://www.vim.org/scripts/script.php?script_id=1658
把所有文件按照github上的目录复制到本地安装vim路径上
“树形目录开关
map :NERDTreeMirror
map :NERDTreeToggle
如果想打开vim时自动打开NERDTree,可以如下设定
autocmd vimenter * NERDTree
关闭vim时,如果打开的文件除了NERDTree没有其他文件时,它自动关闭,减少多次按:q!。
autocmd bufenter * if (winnr(”KaTeX parse error: Expected 'EOF', got '&' at position 9: ") == 1 &̲& exists("b:NER…") == 1 && exists(“b:NERDTree”) && b:NERDTree.isTabTree()) | q | endif
""修改树的显示图标
let g:NERDTreeDirArrowExpandable = ‘►’
let g:NERDTreeDirArrowCollapsible = ‘▼’
let NERDTreeAutoCenter=1
" 显示行号
let NERDTreeShowLineNumbers=1
" 是否显示隐藏文件
let NERDTreeShowHidden=1
" 设置宽度
let NERDTreeWinSize=25
" 在终端启动vim时,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略一下文件的显示
let NERDTreeIgnore=[’.pyc’,’~$’,’.swp’]
let g:NERDTreeIndicatorMapCustom = {
\ “Modified” : “✹”,
\ “Staged” : “✚”,
\ “Untracked” : “✭”,
\ “Renamed” : “➜”,
\ “Unmerged” : “═”,
\ “Deleted” : “✖”,
\ “Dirty” : “✗”,
\ “Clean” : “✔︎”,
\ ‘Ignored’ : ‘☒’,
\ “Unknown” : “?”
\ }
}}}

Python代码补全

http://www.vim.org/scripts/download_script.php?src_id=11062
解压后,将里面的python_pydiction.vim文件复制到D:\Program Files\Vim\vimfiles\ftplugin

将complete-dict 和 pydiction.py复制到D:\Program Files\Vim\vimfiles\ftplugin\pydiction

在_vimrc文件中增加配置如下:

filetype plugin on “启用filetype插件

let g:pydiction_location = ‘D:\Program Files\Vim\vimfiles\ftplugin\pydiction\complete-dict’
let g:pydiction_menu_height = 20 ”设置弹出菜单的高度,默认是15

用gvim打开一个py文件,输入row+[tab],就可以看到自动补全的代码选项了G

补齐括号
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {<CR>}<ESC>O


>inoremap ( ()<Esc>i
inoremap [ []<Esc>i
inoremap { {<CR>}<Esc>O
autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap ] <c-r>=ClosePair(']')<CR>
inoremap } <c-r>=CloseBracket()<CR>
inoremap " <c-r>=QuoteDelim('"')<CR>
inoremap ' <c-r>=QuoteDelim("'")<CR>
function ClosePair(char)
 if getline('.')[col('.') - 1] == a:char
 return "\<Right>"
 else
 return a:char
 endif
endf
function CloseBracket()
 if match(getline(line('.') + 1), '\s*}') < 0
 return "\<CR>}"
 else
 return "\<Esc>j0f}a"
 endif
endf
function QuoteDelim(char)
 let line = getline('.')
 let col = col('.')
 if line[col - 2] == "\\"
 return a:char
 elseif line[col - 1] == a:char
 return "\<Right>"
 else
 return a:char.a:char."\<Esc>i"
 endif
endf
注意事项

若要在linux平台使用windows平台编写的脚本
需要格式化
yum install -y dos2unix

发布了39 篇原创文章 · 获赞 5 · 访问量 1044

猜你喜欢

转载自blog.csdn.net/qq_45206551/article/details/104654581