vim编辑器配置上的坑

【遇到的问题】

  • vim的配置被别人的误操作下修改或删除了”~/.vimrc” 配置文件,导致vim编辑器错乱,不可编辑,不可删除。

【解决办法】

  • 删除旧的”~/.vim”文件夹和”~/.vimrc” 文件;

    1
    2
    rm ~/.vimrc
    rm -Rf ~/.vim
  • 创建新的”~/.vim”文件夹和”~/.vimrc” 文件;

    1
    2
    mkdir ~/.vim
    touch ~/.vimrc
  • 在”~/.vimrc” 文件中添加想要的配置信息,如下所示:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    "打开语法高亮
    syntax on
    "使用配色方案
    colorscheme desert
    "显示行号, 或set number
    set nu
    "设定编码
    set enc=utf-8
    set fileencodings=ucs-bom,utf-8,chinese
    set langmenu=zh_CN.UTF-8
    language message zh_CN.UTF-8
    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim
    "设定默认解码
    set fenc=utf-8
    set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
    "高亮被搜索的句子
    set hlsearch
    "粘贴时保持格式
    set paste
    "在搜索的时候忽略大小写
    set ignorecase
    "继承前一行的缩进方式,特别适用于多行注释
    set autoindent
    "制表符为4
    set tabstop=4
    "允许使用退格键,或set backspace=2
    set backspace=eol,start,indent
    set whichwrap+=<,>,h,l
    "与windows共享剪贴板
    set clipboard+=unnamed
    "使用配色方案
    colorscheme desert
    "回到上次阅读的位置
    autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal `\"" | endif
  • 更多配置信息查看下面:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    "打开语法高亮
    syntax on
    "使用配色方案
    colorscheme desert
    "打开文件类型检测功能
    filetype on
    "不同文件类型采用不同缩进
    filetype indent on
    "允许使用插件
    filetype plugin on
    filetype plugin indent on
    "关闭vi模式
    set nocp
    "与windows共享剪贴板
    set clipboard+=unnamed
    "取消VI兼容,VI键盘模式不易用
    set nocompatible
    "显示行号, 或set number
    set nu
    "历史命令保存行数
    set history=100
    "当文件被外部改变时自动读取
    set autoread
    "取消自动备份及产生swp文件
    set nobackup
    set nowb
    set noswapfile
    "允许使用鼠标点击定位
    set mouse=a
    "允许区域选择
    set selection=exclusive
    set selectmode=mouse,key
    "高亮光标所在行
    set cursorline
    "取消光标闪烁
    set novisualbell
    "总是显示状态行
    set laststatus=2
    "状态栏显示当前执行的命令
    set showcmd
    "标尺功能,显示当前光标所在行列号
    set ruler
    "设置命令行高度为3
    set cmdheight=3
    "粘贴时保持格式
    set paste
    "高亮显示匹配的括号
    set showmatch
    "在搜索的时候忽略大小写
    set ignorecase
    "高亮被搜索的句子
    set hlsearch
    "在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
    set incsearch
    "继承前一行的缩进方式,特别适用于多行注释
    set autoindent
    "为C程序提供自动缩进
    set smartindent
    "使用C样式的缩进
    set cindent
    "制表符为4
    set tabstop=4
    "统一缩进为4
    set softtabstop=4
    set shiftwidth=4
    "允许使用退格键,或set backspace=2
    set backspace=eol,start,indent
    set whichwrap+=<,>,h,l
    "取消换行
    set nowrap
    "启动的时候不显示那个援助索马里儿童的提示
    set shortmess=atI
    "在被分割的窗口间显示空白,便于阅读
    set fillchars=vert:\ ,stl:\ ,stlnc:\
    "光标移动到buffer的顶部和底部时保持3行距离, 或set so=3
    set scrolloff=3
    "设定默认解码
    set fenc=utf-8
    set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
    "设定字体
    set guifont=Courier_New:h11:cANSI
    set guifontwide=新宋体:h11:cGB2312
    "设定编码
    set enc=utf-8
    set fileencodings=ucs-bom,utf-8,chinese
    set langmenu=zh_CN.UTF-8
    language message zh_CN.UTF-8
    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim
    "自动补全
    filetype plugin indent on
    set completeopt=longest,menu
    "自动补全命令时候使用菜单式匹配列表
    set wildmenu
    autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
    autocmd FileType python set omnifunc=pythoncomplete#Complete
    autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
    autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
    autocmd FileType css set omnifunc=csscomplete#CompleteCSS
    autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
    autocmd FileType java set omnifunc=javacomplete#Complet