问题一
系统更新后vim安装出现错误,四步解决
- sudo apt-get purge vim-common
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get install vim
问题二
依赖: XXX 但是它将不会被安装
更换下载源于“清华”或者“阿里云”
vi /etc/apt/sources.list
若此前已经执行sudo apt-get purge vim-common
,可用nano编辑器,也可直接寻找文件打开,用默认编辑器
配置
" jk互换
nnoremap j k
nnoremap k j
inoremap jk <esc>
" 语法高亮
syntax on
syntax enable
set encoding=utf8
set noerrorbells " 出错时不发出声响
" 模糊查找
set path+=** " 搜索所有子目录并递归
set wildmenu " 显示多个匹配于一行
set nocompatible " 将搜索限制在您的项目上,不与vi兼容
set relativenumber
"set number
"set nonumber
" 大写转换
inoremap <c-u> <esc>viwUa
let mapleader=","
let maplocalleader="\\"
" 设定标准宽度的格式
set numberwidth=4
" set cursorline 光标所在当前行高亮
set wrap " 自动拆行,加no关闭
" 浅色光亮显示当前行
autocmd InsertLeave * se nocul
autocmd InsertEnter * se cul
" 文件对应缩进
filetype indent on
" 底部显示模式
set showmode
" 命令模式底部显示键入指令,eg:2y3d显示2y3,输入d消失
set showcmd
" 支持使用鼠标
" set mouse=a
"保持上一行缩进
set autoindent
" 快捷键,ev打开vimrc
nnoremap <leader>ev :vsplit $MYVIMRC<cr>
"搜索
set incsearch " 可以一边输一边查找
set hlsearch " 高亮显示搜索
set smartcase " 敏感搜索(一个大写),其他不敏感
" set ignorecase 搜索时忽略大小写
set showmatch " 遇到括号时自动高亮另一括号
" netrw setting
let g:netrw_banner = 0 "不显示横幅
let g:netrw_liststyle = 3 " 样式
let g:netrw_altv = 1 " 文件浏览显示左边
let g:netrw_winsize = 20 " 文件所占百分比
let g:netrw_browse_split = 3 " 新建标签方式打开文件
"自动打开文件浏览器 netrw
"augroup ProjectDrawer
" autocmd!
" autocmd VimEnter * :Vexplore
"augroup END
" Toggle Vexplore with Ctrl-E
" 使用目录树召唤函数
function! ToggleVExplorer()
if exists("t:expl_buf_num")
let expl_win_num = bufwinnr(t:expl_buf_num)
if expl_win_num != -1
let cur_win_nr = winnr()
exec expl_win_num . 'wincmd w'
close
exec cur_win_nr . 'wincmd w'
unlet t:expl_buf_num
else
unlet t:expl_buf_num
endif
else
exec '1wincmd w'
Vexplore
let t:expl_buf_num = bufnr("%")
endif
endfunction
"设置快捷键调用召唤目录树函数
nnoremap <silent> <C-E> :call ToggleVExplorer()<CR>
"自动补全
inoremap ( ()<ESC>i
inoremap { {<CR>}<ESC>O
inoremap [ []<ESC>i
inoremap " ""<ESC>i
inoremap ' ''<ESC>i
" 映射全选+复制 ctrl+a
map <C-A> ggVGY
map! <C-A> <Esc>ggVGY
"代码补全
set completeopt=preview,menu
nmap <leader>w :w!
nmap <leader>q :q!<cr>