vim 配置

. . . . . . . S@t… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …
" . …t%SXSS%:;t.X8S% . . . . . . . . . . . . .
" . %St8;8:X;8:8:8%8;%%:@S: . . . . … . . . . . . . . . . . . . . . …
" . 8: %.;t;S;%@88:X.8X8%;8S t@@% . %@@t .X88X . . . %@@@@@@@@@X: . . . . .
" …X.;X%8t8%8ttX.88;8.8%:;% ;8:SX%. SX.8S. St88: . . . . …XS.@%SSS88S@:. X@@% . . . . . . …
" . X;:;8SS888;8tt;8:8:8; t:t8S 8:Xt. :8888: .%888:. .SSSSSSSSSSS%: .S888t @@8X: .%.88 .SSt .:SS; .%SSSSSSSS%.
" :t8 :;X8S;8.8S;8S.8.t8:%8XS… S8.8:.S8;8; 😡;@88 . S:88 X.88@88:@t…%S. … X;8@: :%:;8. X%:X;. 8;.; %S8@XXSXSS8…
" .t88; X;8S8888;8S8t 8S88SSStt:. @.%8St;@8X . t .8S S:88:%888%;8t8:…S.S@%SSS8S88t .% @; X:.X. 88t :.t@t8@ …
" 8; :888XSStS;88;88X%;;tt::;;8@ …%X88:88Xt .S@.::. S@8% X8.@;S888X .%;88SSSS.SX.:. 8S88: @;88t. 8.S8 t;@8@88@88S…
" S. :tX: ;%8S8 : .::. %8t %S 8. @88t8 8t. . . .@8; 8888 @@%S;t8.8S .:SX8; .:… . S8; …8888:…8:8@: ;St@@888.@@…
" :8:;888888 .; . 8%8@ .8X.@8X . X%8@ .t@8S X88X:%888X .@8@8t … . SX%X .X;;S@%tS8; ;…SttSXS8888S.
" t.8XX;;8X% XX. . %8X8; . :tX8@t . t8X8: %@@S X8@@:t8tXt…:%t… . X:8X X8@@88@888t. %88t888 888t.
" . :8;S: . S@. t8;8:: . .;:;. . . .%@%: t%%; .%%;…: t. .; : . . . %;8. ;X;X%.:.: t ;t ;:: :t;…
" :%@t%8 88. . . :: . … . . . . … . … . . . . … . . . . …
" … 8888 … … . . . . . . . … . . . . . . … . . . . . . …
"
" Author: chxuan 787280310@qq.com
" Repository: https://github.com/chxuan/vimplus
" Create Date: 2017-04-10
" License: MIT

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 通用设置
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let mapleader = “,” " 定义键
set nocompatible " 设置不兼容原始vi模式
filetype on " 设置开启文件类型侦测
filetype plugin on " 设置加载对应文件类型的插件
set noeb " 关闭错误的提示
syntax enable " 开启语法高亮功能
syntax on " 自动语法高亮
set t_Co=256 " 开启256色支持
set cmdheight=2 " 设置命令行的高度
set showcmd " select模式下显示选中的行数
set ruler " 总是显示光标位置
set laststatus=2 " 总是显示状态栏
set number " 开启行号显示
set cursorline " 高亮显示当前行
set whichwrap+=<,>,h,l " 设置光标键跨行
set ttimeoutlen=0 " 设置键响应时间
set virtualedit=block,onemore " 允许光标出现在最后一个字符的后面

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 代码缩进和排版
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set autoindent " 设置自动缩进
set cindent " 设置使用C/C++语言的自动缩进方式
set cinoptions=g0,:0,N-s,(0 " 设置C/C++语言的具体缩进方式
set smartindent " 智能的选择对其方式
filetype indent on " 自适应不同语言的智能缩进
set expandtab " 将制表符扩展为空格
set tabstop=4 " 设置编辑时制表符占用空格数
set shiftwidth=4 " 设置格式化时制表符占用空格数
set softtabstop=4 " 设置4个空格为制表符
set smarttab " 在行和段开始处使用制表符
set nowrap " 禁止折行
set backspace=2 " 使用回车键正常处理indent,eol,start等
set sidescroll=10 " 设置向右滚动字符数
set nofoldenable " 禁用折叠代码

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 代码补全
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set wildmenu " vim自身命名行模式智能补全
set completeopt-=preview " 补全时不显示窗口,只显示补全列表

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索设置
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set hlsearch " 高亮显示搜索结果
set incsearch " 开启实时搜索功能
set ignorecase " 搜索时大小写不敏感

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 缓存设置
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nobackup " 设置不备份
set noswapfile " 禁止生成临时文件
set autoread " 文件在vim之外修改过,自动重新读入
set autowrite " 设置自动保存
set confirm " 在处理未保存或只读文件的时候,弹出确认

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 编码设置
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set langmenu=zh_CN.UTF-8
set helplang=cn
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" gvim/macvim设置
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if has(“gui_running”)
let system = system(‘uname -s’)
if system == “Darwin\n”
set guifont=Droid\ Sans\ Mono\ Nerd\ Font\ Complete:h18 " 设置字体
else
set guifont=DroidSansMono\ Nerd\ Font\ Regular\ 18 " 设置字体
endif
set guioptions-=m " 隐藏菜单栏
set guioptions-=T " 隐藏工具栏
set guioptions-=L " 隐藏左侧滚动条
set guioptions-=r " 隐藏右侧滚动条
set guioptions-=b " 隐藏底部滚动条
set showtabline=0 " 隐藏Tab栏
set guicursor=n-v-c:ver5 " 设置光标为竖线
endif

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 卸载默认插件UnPlug
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
function! s:deregister(repo)
let repo = substitute(a:repo, ‘[/]+KaTeX parse error: Can't use function '\.' in math mode at position 49: …fy(repo, ':t:s?\̲.̲git??’)
call remove(g:plugs, name)
endfunction
command! -nargs=1 -bar UnPlug call s:deregister()

“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 插件列表
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
call plug#begin(’~/.vim/plugged’)

Plug ‘chxuan/cpp-mode’
Plug ‘chxuan/vim-edit’
Plug ‘chxuan/change-colorscheme’
Plug ‘chxuan/prepare-code’
Plug ‘chxuan/vim-buffer’
Plug ‘chxuan/vimplus-startify’
Plug ‘chxuan/tagbar’
Plug ‘Valloric/YouCompleteMe’
Plug ‘Yggdroot/LeaderF’
Plug ‘mileszs/ack.vim’
Plug ‘easymotion/vim-easymotion’
Plug ‘haya14busa/incsearch.vim’
Plug ‘jiangmiao/auto-pairs’
Plug ‘scrooloose/nerdtree’
Plug ‘tiagofumo/vim-nerdtree-syntax-highlight’
Plug ‘Xuyuanp/nerdtree-git-plugin’
Plug ‘godlygeek/tabular’
Plug ‘tpope/vim-fugitive’
Plug ‘tpope/vim-surround’
Plug ‘tpope/vim-commentary’
Plug ‘tpope/vim-repeat’
Plug ‘tpope/vim-endwise’
Plug ‘octol/vim-cpp-enhanced-highlight’
Plug ‘vim-airline/vim-airline’
Plug ‘vim-airline/vim-airline-themes’
Plug ‘ryanoasis/vim-devicons’
Plug ‘junegunn/vim-slash’
Plug ‘junegunn/gv.vim’
Plug ‘kana/vim-textobj-user’
Plug ‘kana/vim-textobj-indent’
Plug ‘kana/vim-textobj-syntax’
Plug ‘kana/vim-textobj-function’
Plug ‘sgur/vim-textobj-parameter’
Plug ‘Shougo/echodoc.vim’
Plug ‘terryma/vim-smooth-scroll’
Plug ‘rhysd/clever-f.vim’
Plug ‘vim-scripts/indentpython.vim’

" 加载自定义插件
if filereadable(expand($HOME . ‘/.vimrc.custom.plugins’))
source $HOME/.vimrc.custom.plugins
endif

call plug#end()

" load vim default plugin
runtime macros/matchit.vim

" 编辑vimrc相关配置文件
nnoremap e :edit $MYVIMRC
nnoremap vc :edit ~/.vimrc.custom.config
nnoremap vp :edit ~/.vimrc.custom.plugins

" 查看vimplus的help文件
nnoremap h :view +let\ &l:modifiable=0 ~/.vimplus/help.md

" 打开当前光标所在单词的vim帮助文档
nnoremap H :execute “:help " . expand(”")

" 重新加载vimrc文件
nnoremap s :source $MYVIMRC

" 安装、更新、删除插件
nnoremap i :PlugInstall
nnoremap u :PlugUpdate
nnoremap c :PlugClean

" 分屏窗口移动
nnoremap j
nnoremap k
nnoremap h
nnoremap l

" 复制当前选中到系统剪切板
vmap y "+y

" 将系统剪切板内容粘贴到vim
nnoremap p "+p

" 打开文件自动定位到最后编辑的位置
autocmd BufReadPost * if line("’"") > 1 && line("’"") <= line("$") | execute “normal! g’”" | endif

" 主题设置
set background=dark
let g:onedark_termcolors=256
colorscheme onedark

" airline
let g:airline_theme=“onedark”
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
if !exists(‘g:airline_symbols’)
let g:airline_symbols = {}
endif
let g:airline_left_sep = ‘’
let g:airline_left_alt_sep = ‘’
let g:airline_right_sep = ‘’
let g:airline_right_alt_sep = ‘’

" cpp-mode
nnoremap y :CopyCode
nnoremap p :PasteCode
nnoremap U :GoToFunImpl
nnoremap a :Switch
nnoremap fp :FormatFunParam
nnoremap if :FormatIf
nnoremap t dd :GenTryCatch
xnoremap t d :GenTryCatch

" change-colorscheme
nnoremap :PreviousColorScheme
inoremap :PreviousColorScheme
nnoremap :NextColorScheme
inoremap :NextColorScheme
nnoremap :RandomColorScheme
inoremap :RandomColorScheme
nnoremap :ShowColorScheme
inoremap :ShowColorScheme

" prepare-code
let g:prepare_code_plugin_path = expand($HOME . “/.vim/plugged/prepare-code”)

" vim-buffer
nnoremap :PreviousBuffer
nnoremap :NextBuffer
nnoremap d :CloseBuffer
nnoremap D :BufOnly

" vim-edit
nnoremap Y :CopyText
nnoremap D :DeleteText
nnoremap C :ChangeText
nnoremap r :ReplaceTo

" nerdtree
nnoremap n :NERDTreeToggle
let g:NERDTreeFileExtensionHighlightFullName = 1
let g:NERDTreeExactMatchHighlightFullName = 1
let g:NERDTreePatternMatchHighlightFullName = 1
let g:NERDTreeHighlightFolders = 1
let g:NERDTreeHighlightFoldersFullName = 1
let g:NERDTreeDirArrowExpandable=‘▷’
let g:NERDTreeDirArrowCollapsible=‘▼’

" YCM
" 如果不指定python解释器路径,ycm会自己搜索一个合适的(与编译ycm时使用的python版本匹配)
" let g:ycm_server_python_interpreter = ‘/usr/bin/python2.7’
let g:ycm_confirm_extra_conf = 0
let g:ycm_error_symbol = ‘✗’
let g:ycm_warning_symbol = ‘✹’
let g:ycm_seed_identifiers_with_syntax = 1
let g:ycm_complete_in_comments = 1
let g:ycm_complete_in_strings = 1
let g:ycm_collect_identifiers_from_tags_files = 1
let g:ycm_semantic_triggers = {
\ ‘c’ : [’->’, ‘.’,‘re![_a-zA-z0-9]’],
\ ‘objc’ : [’->’, ‘.’, ‘re![[_a-zA-Z]+\w*\s’, ‘re!\s*[\W\d]\w*\s’,
\ ‘re![.*]\s’],
\ ‘ocaml’ : [’.’, ‘#’],
\ ‘cpp,objcpp’ : [’->’, ‘.’, ‘::’,‘re![_a-zA-Z0-9]’],
\ ‘perl’ : [’->’],
\ ‘php’ : [’->’, ‘::’],
\ ‘cs,java,javascript,typescript,d,python,perl6,scala,vb,elixir,go’ : [’.’],
\ ‘ruby’ : [’.’, ‘::’],
\ ‘lua’ : [’.’, ‘:’],
\ ‘erlang’ : [’:’],
\ }
nnoremap u :YcmCompleter GoToDeclaration
" 已经使用cpp-mode插件提供的转到函数实现的功能
" nnoremap i :YcmCompleter GoToDefinition
nnoremap o :YcmCompleter GoToInclude
nnoremap ff :YcmCompleter FixIt
nmap :YcmDiags

" tagbar
let g:tagbar_width = 30
nnoremap t :TagbarToggle

" incsearch.vim
map / (incsearch-forward)
map ? (incsearch-backward)
map g/ (incsearch-stay)

" vim-easymotion
let g:EasyMotion_smartcase = 1
map w (easymotion-bd-w)
nmap w (easymotion-overwin-w)

" nerdtree-git-plugin
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ “Modified” : “✹”,
\ “Staged” : “✚”,
\ “Untracked” : “✭”,
\ “Renamed” : “➜”,
\ “Unmerged” : “═”,
\ “Deleted” : “✖”,
\ “Dirty” : “✗”,
\ “Clean” : “✔︎”,
\ ‘Ignored’ : ‘☒’,
\ “Unknown” : “?”
\ }

" LeaderF
nnoremap f :LeaderfFile .
let g:Lf_WildIgnore = {
\ ‘dir’: [’.svn’,’.git’,’.hg’,’.vscode’,’.wine’,’.deepinwine’,’.oh-my-zsh’],
\ ‘file’: [’.sw?’,’~$’,’.bak’,’.exe’,’.o’,’.so’,’*.py[co]’]
}
let g:Lf_UseCache = 0

" ack
nnoremap F :Ack!

" echodoc.vim
let g:echodoc_enable_at_startup = 1

" tabular
nnoremap l :Tab /|
nnoremap = :Tab /=

" vim-smooth-scroll
noremap :call smooth_scroll#up(&scroll, 0, 2)
noremap :call smooth_scroll#down(&scroll, 0, 2)
noremap :call smooth_scroll#up(&scroll2, 0, 4)
noremap :call smooth_scroll#down(&scroll
2, 0, 4)

" gv
nnoremap g :GV
nnoremap G :GV!
nnoremap gg :GV?

" 加载自定义配置
if filereadable(expand($HOME . ‘/.vimrc.custom.config’))
source $HOME/.vimrc.custom.config
endif

autocmd VimEnter * NERDTree
map :NERDTreeToggle

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用: Ubuntu的安装 1.1 镜像下载 1.2 镜像的安装 2 vim的使用 2.1 vim的几种模式 2.2 vim的启动 2.3 常用文档操作。 引用: 然后点击完成,打开虚拟机,并安装系统 选择语言为中文,继续 然后设置姓名密码,安装完成 2 vim的使用 2.1 vim的几种模式 正常模式插入模式:可以输入文本,在正常模式下,按i、a、o可以进入本模式 可视模式:正常模式下按v可以进入可视模式,在可视模式下,移动光标可以选择文本。按V进入可视行模式,总是整行整行的选中。ctrl v进入可视块模式。 2.2 vim的启动 vim -c cmd file:在打开文件前,先执行指定的命令 vim -r file: 恢复上次异常退出的文件 vim -R file: 以只读的方式打开文件,但可以强制保存 vim -M file: 以只读的方式打开文件,不可以强制保存 vim -y num file: 将编辑窗口的大小设为num行 vim file: 从文件的末尾开始 vim num file: 从第num行开始 vim /string file: 打开file,并将光标停留在第一个找到的string上 vim –remote file: 用已有的vim进程打开指定的文件。 如果你不想启用多个vim会话,这个很有用。但要注意, 如果你用vim,会寻找名叫VIM的服务器;如果你已经有一个gvim在运行了, 你可以用gvim –remote file在已有的gvim中打开文件 2.3 常用文档操作 :e file –关闭当前编辑的文件,并开启新的文件。 :w – 保存修改 :wq – 保存并退出 :x – 保存并退出。 引用: 打开VMware,创建新的虚拟机 选择自定义,并点击下一步 点击下一步 点击稍后安装操作系统,并下一步 客户机操作系统选择Linux,版本选择Ubuntu 64 位,下一步 选择想要安装的虚拟机位置,不建议在c盘。 问题: 请告诉我,18.04 vim配置 在Ubuntu 18.04上配置vim很简单。首先,确保你的系统上已经安装了vim。你可以使用以下命令来安装vim: ``` sudo apt-get update sudo apt-get install vim ``` 安装完成后,你可以通过编辑.vimrc文件来配置vim。该文件位于你的用户主目录下。你可以使用以下命令来打开并编辑该文件: ``` vim ~/.vimrc ``` 在.vimrc文件中,你可以添加各种配置选项,例如设置自动缩进、设置颜色主题、定义快捷键等。以下是一些常见的配置选项示例: ``` " 设置自动缩进 set autoindent " 设置显示行号 set number " 设置颜色主题 syntax on colorscheme desert " 定义快捷键 map <F5> :w<CR> " 设置Tab键为4个空格 set tabstop=4 set shiftwidth=4 set expandtab ``` 保存并关闭.vimrc文件后,你的vim配置就完成了。现在你可以重新启动vim,你的配置将生效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值