vim配置文件 .vimrc

1 基本设置

  • set nocp
    该命令指定让 VIM 工作在不兼容模式下。 在 VIM 之前, 出现过一个非常流行的编辑器叫
    vi。 VIM 许多操作与 vi 很相似, 但也有许多操作与 vi 是不一样的。 如果使用“:set
    cp”命令打开了兼容模式开关的话, VIM 将尽可能地模仿 vi 的操作模式。

    例如:VIM 里允许在 Insert 模式下使用方向键移动光标, 而 vi 里在
    Insert 模式下是不能移动光标的, 必须使用 ESC 退回到 Normal 模式下才行。

    再举一个例子, vi 里使用 u 命令可以撤消一次先前的操作, 再次按下 u
    时, 将撤消“撤消”这个动作本身, 也就是我们常说的“重复”(redo)。
    而 VIM 里可以使用 u 命令撤消多步操作, “重复”使用的快捷键是 Ctrl
    + R。

    使用兼容模式后, VIM 将放弃这些新的功能, 尽量模仿 vi 的各种操作方式。
    只有在不兼容模式下, 才能更好地发挥 VIM 自身的特点。
  • set ru    
    该命令打开 VIM 的状态栏标尺。 默认情况下, VIM 的状态栏标尺在屏幕底部,
    它能即时显示当前光标所在位置在文件中的行号、列号, 以及对应的整个文件的百分比。
    打开标尺可以给文件的编辑工作带来一定方便。   
  • set hls
    搜索时高亮显示被找到的文本。
  • set is
    搜索时在未完全输入完毕要检索的文本时就开始检索。
  • syntax on
    打开关键字色。
  • set backspace=indent,eol,start
    设想这样一个情况: 当前光标前面有若干字母, 按下 i 键进入了 Insert
    模式, 然后输入了 3 个字母, 再按 5 下删除(Backspace)。 默认情况下,
    VIM 仅能删除新输入的 3 个字母, 然后喇叭“嘟嘟”响两声。 如果“set
    backspace=start”, 则可以在删除了新输入的 3 个字母之后, 继续向前删除原有的两个字符。

    再 设想一个情况: 有若干行文字, 把光标移到中间某一行的行首, 按 i 键进入 Insert 模式, 然后按一下 Backspace。默认情况下, 喇叭会“嘟”一声,然后没有任何动静。 如果“set backspace=eol”,则可以删除前一行行末的回车,也就是说将两行拼接起来。

    当设置了自动缩进后, 如果前一行缩进了一定距离, 按下回车后, 下一行也会保持相同的缩进。
    默认情况下, 不能在 Insert 模式下直接按 Backspace 删除行首的缩进。
    如果“set backspace=indent”, 则可以开启这一项功能。

    上述三项功能, 可以选择其中一种或几种, 用逗号分隔各个选项。
  • set whichwrap=b,s,<,>,[,]
    默认情况下, 在 VIM 中当光标移到一行最左边的时候, 继续按左键,光标不能回到上一行的最右边。 同样地, 光标到了一行最右边的时候, 不能通过继续按右跳到下一行的最左边。
    但 是, 通过设置 whichwrap 可以对一部分按键开启这项功能。如果想对某一个或几个按键开启到头后自动折向下一行的功能,可以把需要开启的键的代号写到 whichwrap 的参数列表中,各个键之间使用逗号分隔。以下是 whichwrap 支持的按键名称列表:
    • b
      在 Normal 或 Visual 模式下按删除(Backspace)键。
    • s
      在 Normal 或 Visual 模式下按空格键。
    • h
      在 Normal 或 Visual 模式下按 h 键。
    • l
      在 Normal 或 Visual 模式下按 l 键。
    • <
      在 Normal 或 Visual 模式下按左方向键。
    • >
      在 Normal 或 Visual 模式下按右方向键。
    • ~
      在 Normal 模式下按 ~ 键(翻转当前字母大小写)。
    • [
      在 Insert 或 Replace 模式下按左方向键。
    • ]
      在 Insert 或 Replace 模式下按右方向键。
  • set encoding=cp936
    设置当前字符编码为简体中文。 这里还有一段能够自动判断文件的 encoding,
    自动选择合适的编码的 .vimrc 代码, 感兴趣的话可以放到自己的配置文件中使用:
" Encoding settings
if has("multi_byte")
" Set fileencoding priority
if getfsize(expand("%")) > 0
set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
else
set fileencodings=cp936,big5,euc-jp,euc-kr,latin1
endif

" CJK environment detection and corresponding setting
if v:lang =~ "^zh_CN"
" Use cp936 to support GBK, euc-cn == gb2312
set encoding=cp936
set termencoding=cp936
set fileencoding=cp936
elseif v:lang =~ "^zh_TW"
" cp950, big5 or euc-tw
" Are they equal to each other?
set encoding=big5
set termencoding=big5
set fileencoding=big5
elseif v:lang =~ "^ko"
" Copied from someone's dotfile, untested
set encoding=euc-kr
set termencoding=euc-kr
set fileencoding=euc-kr
elseif v:lang =~ "^ja_JP"
" Copied from someone's dotfile, unteste
set encoding=euc-jp
set termencoding=euc-jp
set fileencoding=euc-jp
endif
" Detect UTF-8 locale, and replace CJK setting if needed
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
endif






2 文本编辑设置


  • set sw=4
    自动缩进的时候, 缩进尺寸为 4 个空格。
  • set ts=4
    Tab 宽度为 4 个字符。
  • set et
    编辑时将所有 Tab 替换为空格。

    该选项只在编辑时将 Tab 替换为空格, 如果打开一个已经存在的文件, 并不会将已有的
    Tab 替换为空格。 如果希望进行这样的替换的话, 可以使用这条命令“:retab”。

3 断行设置


  • set lbr
    不在单词中间断行。 设置了这个选项后, 如果一行文字非常长, 无法在一行内显示完的话,
    它会在单词与单词间的空白处断开, 尽量不会把一个单词分成两截放在两个不同的行里。
  • set fo+=mB
    打开断行模块对亚洲语言支持。 m 表示允许在两个汉字之间断行, 即使汉字之间没有出现空格。
    B 表示将两行合并为一行的时候, 汉字与汉字之间不要补空格。 该命令支持的更多的选项请参看用户手册。

4 C/C++ 编码设置

  • set sm
    显示括号配对情况。 打开这个选项后, 当输入后括号 (包括小括号、中括号、大括号)
    的时候, 光标会跳回前括号片刻, 然后跳回来, 以此显示括号的配对情况。
  • set cin
    打开 C/C++ 风格的自动缩进。 打开了自动缩进后, 在编码的时候可以使用“V”命令选中一段文本后,按“=”将这段文本重新调整缩进格式, 在一定程度上起到代码美化的作用。

    另外, 打开了自动缩进后, 在使用 TERM 下的 vim 的时, 粘贴代码时常常会出现版式混乱的现象。那是因为 TERM 并不知道现在正在粘贴代码, 它直接“粘贴”动作向 vim
    解释为键入, 因此 vim 便按照设置的自动缩进格式为的代码调整了缩进。
    不幸的是, 粘贴进去的代码中本身已经包含了缩进, 因此便出现了版式混乱的情况。
    在 gvim 中就不会出现这个问题, 因为它能够知道现在正在粘贴。

    知道了这个症状的来由, 解决方案也就显而易见了: 在粘贴的时候把所有自动缩进都关闭,
    粘贴完毕之后再打开。 一个个手工关闭自动缩进未免过于繁琐, vim 为提供了一个很好用的命令,只要输入“:set paste”, 就可以关闭所有自动缩进。 粘贴完毕后再输入“:set
    nopaste”就可以重新打开原有的自动缩进设置了。
  • set cino=:0g0t0(sus
    设定 C/C++ 风格自动缩进的选项, 这里简要介绍一下这段代码里用到的选项的含义,
    cino 支持的选项还很多, 更多选项请看用户手册。
    // :0
    //
    // switch 语句之下的 case 语句缩进 0 个空格,也就是说不缩进,与 switch 块平
    // 齐,使用这样风格:
    switch (x)
    {
    case 1:
        a = b;
        break;
    default:
    }

    // g0
    //
    // class、struct 等之下的访问权限控制语句,如 public、protected、private 等,
    // 相对 class、struct 等所在的块缩进 0 个空格,与 class 等块平齐,使用这样的
    // 风格:
    class foo
    {
    public:
        int a;
    private:
        int b;
    };

    // t0
    //
    // 如果函数返回值与函数名不在同一行,则返回值缩进 0 个空格,也就是说不缩进,如
    // 下所示:

    // set cino=t4
        int
    func1()
    {
    }

    // set cino=t0
    int
    func()
    {
    }

    // (sus
    //
    // 当一对括号跨越多行时,其后的行缩进前面 sw 指定的距离,效果如下:
    int a = (1 + 2 + 3
        + 4 + 5 + 6
        + 7 + 8) * 9;

 

  • set ai
    打开普通文件类型的自动缩进。 该自动缩进不如 cindent 智能, 但它可以为你编辑非
    C/C++ 文件提供一定帮助。
5 其它设置

  • set selectmode=
    不使用 selectmode。
  • set mousemodel=popup
    当右键单击窗口的时候, 弹出快捷菜单。
  • set keymodel=
    不使用“Shift + 方向键”选择文本, “Shift + 方向键”代表向指定方向跳一个单词。
    如果你喜欢这项功能的话, 可以使用“set keymodel=startsel,stopsel”打开它。
  • set selection=inclusive
    指定在选择文本时, 光标所在位置也属于被选中的范围。 如果指定 selection=exclusive
    的话, 可能会出现某些文本无法被选中的情况。
  • colo torte
    选择 torte 配色方案。 VIM 里内置了许多关键字上色的配色方案, 另外你还可以到网上下载更多配色方案,或是自己编写。 点击“编辑”→“调色板”, 就能列出所有支持的配色方案。
    你可以把“调色板”子菜单剪下来, 然后慢慢选择, 挑出一个最喜欢的配色方案来。
6 图形界面设置

  • set nowrap
    指定不折行。 如果一行太长, 超过屏幕宽度, 则向右边延伸到屏幕外面。
    如果使用图形界面的话, 指定不折行视觉效果会好得多。
  • set guioptions+=b
    添加水平滚动条。 如果你指定了不折行, 那为窗口添加一个水平滚动条就非常有必要了。
  • set guifont=Courier/ 9
    设置图形界面下的字体。 你可以点“编辑”→“选择字体”, 然后在对话框中选出你喜欢的字体与字号,选择完毕后, 先按几下 ESC 确认处在 Normal 模式下, 然后输入这条命令:“:set
    guifont?” 回车后 gvim 屏幕最下方会显示出你当前所用的字体的名称与字号。
    将获得的结果写到配置文件里面就可以了, 需要注意一点, 如果字体名称里面含有空格的话,
    在抄的时候需要在所有空格前面加一个斜杠。
7 条件选择

同一个配色方案, 在 gvim 下和字符界面的 vim 下效果大相径庭,
在 gvim 下使用 torte 配色方案, 在 vim 下使用 ron 配色方案。 因此我们有必要针对
gvim 和 vim 进行不同的设置。
另外, 前面我们在 gvim 下不使用折行, 开启水平滚动条, 但在 vim 下,
是没有滚动条可用的, 因此还是有必要为 vim 保留自动折行。
条件选择设置的格式如下:
if (has("gui_running"))
" 图形界面下的设置
set nowrap
set guioptions+=b
colo torte
else
" 字符界面下的设置
set wrap
colo ron
endif
 
 and you can insert some alias into .bashrc to make it permanert command.
such as alias cdwork=cd /local/myworkdir/
 
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66983/showart_576157.html 
### 回答1: 要下载.vimrc文件,可以按照以下步骤操作: 1. 打开任意网页浏览器,进入搜索引擎网站,如Google或百度。 2. 在搜索框中输入“vim配置文件.vimrc下载”并点击搜索按钮。 3. 在搜索结果中,可以看到一些网站提供.vimrc文件的下载链接。点击其中一个可靠的链接。 4. 进入下载页面后,查看文件下载方式。通常,会提供一个“下载”按钮或者直接显示文件内容。 5. 如果有“下载”按钮,点击该按钮进行下载。如果文件内容直接显示在页面上,复制整个内容。 6. 找到想要保存.vimrc文件的位置,例如桌面或者指定文件夹。 7. 在浏览器上右击鼠标,并选择“保存链接为”或“保存页面为”。然后,选择保存到指定位置。 8. 在保存对话框中,指定保存文件的名称为“.vimrc”,确保文件名前面有一个点来确保其为隐藏文件。 9. 点击保存按钮,等待文件下载完成。 10. 成功保存文件后,即可在指定位置找到下载的.vimrc文件。 注意事项:在下载文件时,始终选择可信任的来源,以确保文件的安全性。另外,.vimrc文件通常是用于Vim编辑器的配置文件,如果使用其他编辑器,可能会需要相应的配置文件。 ### 回答2: 要下载vim配置文件.vimrc,你可以按照以下步骤进行操作: 1. 打开你的终端或命令行界面。 2. 使用curl命令下载.vimrc文件。在终端中输入以下命令并按下回车键: curl -o ~/.vimrc https://raw.githubusercontent.com/username/repo/master/.vimrc 这个命令会从GitHub的仓库中下载.vimrc文件并保存到你的主目录下。 替换"username/repo"部分为你所使用的GitHub用户名和仓库名称。 3. 下载完成后,你可以使用vim编辑器打开.vimrc文件来查看和修改配置。 在终端中输入以下命令打开.vimrc文件: vim ~/.vimrc 这将使用vim编辑器打开你的.vimrc文件,现在你可以根据自己的需求进行编辑和配置。 如果你对vim的配置不熟悉,你可以搜索一些vim的配置示例或教程,以帮助你进行必要的修改。 希望这个回答对你有所帮助! ### 回答3: vim配置文件.vimrc是用来定制Vim编辑器的设置和插件的配置文件。想要下载.vimrc文件,请按照以下步骤进行操作。 1. 打开你的命令行终端。 2. 在终端中输入以下命令,下载.vimrc文件: `wget https://raw.githubusercontent.com/username/repo/master/.vimrc` 这里的`https://raw.githubusercontent.com/username/repo/master/.vimrc`是.vimrc文件所在的URL。你需要将其替换为你想要下载的.vimrc文件的真实URL。 3. 下载完成后,.vimrc文件会保存在当前目录下。 4. 如果需要将.vimrc文件移动到其他目录,请使用以下命令: `mv .vimrc /desired/path` 这里的`/desired/path`是你想要移动到的目标路径。你需要将其替换为你想要保存.vimrc文件的目标路径。 通过上述步骤,你可以下载到你想要的.vimrc配置文件,并可以根据自己的需要进行自定义及编辑。记得根据实际情况修改命令中的URL和目标路径以适应你的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值