• Ubuntu下vim的配置


    由于刚开始学习Linux,对佷多操作还不熟悉,遇到了一些困难,在这里记录一下。

        1  安装vim。俺我现在的理解,vim有控制台版本和GUI版本。控制台版本貌似是Ubuntu自带的,可以在终端输入 vim执行一下。GUI版本需要自己下,在终端执行

    sudo apt-get install vim-gtk即可安装。

        2  随后是设置一些属性。

    在终端输入 sudo -s进入根目录,

    随后输入密码,然后是cd etc/vim

    接着是 vim vimrc

    此时便会出现etc/vim/vimrc里面的内容。大致如下:

    大致如下:

    " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
    " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
    " you can find below. If you wish to change any of those settings, you should
    " do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
    " everytime an upgrade of the vim packages is performed. It is recommended to
    " make changes after sourcing debian.vim since it alters the value of the
    " 'compatible' option.

    " This line should not be removed as it ensures that various options are
    " properly set to work with the Vim-related packages available in Debian.
    runtime! debian.vim

    " Uncomment the next line to make Vim more Vi-compatible
    " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
    " options, so any other options should be set AFTER setting 'compatible'.
    "set compatible

    " Vim5 and later versions support syntax highlighting. Uncommenting the next
    " line enables syntax highlighting by default.
    "syntax on

    " If using a dark background within the editing area and syntax highlighting
    " turn on this option as well
    "set background=dark

    " Uncomment the following to have Vim jump to the last position when
    " reopening a file
    "if has("autocmd")
    " au BufReadPost * if line("'"") > 0 && line("'"") <= line("$")
    "    | exe "normal g'"" | endif
    "endif

    " Uncomment the following to have Vim load indentation rules according to the
    " detected filetype. Per default Debian Vim only load filetype specific
    " plugins.
    "if has("autocmd")
    " filetype indent on
    "endif

    " The following are commented out as they cause vim to behave a lot
    " differently from regular Vi. They are highly recommended though.
    "set showcmd        " Show (partial) command in status line.
    "set showmatch        " Show matching brackets.
    "set ignorecase        " Do case insensitive matching
    "set smartcase        " Do smart case matching
    "set incsearch        " Incremental search
    "set autowrite        " Automatically save before commands like :next and :make
    "set hidden             " Hide buffers when they are abandoned
    "set mouse=a        " Enable mouse usage (all modes) in terminals

    " Source a global configuration file if available
    " XXX Deprecated, please move your changes here in /etc/vim/vimrc
    if filereadable("/etc/vim/vimrc.local")
    source /etc/vim/vimrc.local
    endif

          然后按下i键(插入命令),此时在最下面会出现“--插入--”的字样,随后将下列语句插入到最后(可以根据注释结合自己的需要来取舍, 不一定要全部写入)

    set ai                          " 自动缩进,新行与前面的行保持—致的自动空格
    set aw                        " 自动写,转入shell或使用:n编辑其他文件时,当前的缓冲区被写入
    set flash                     " 在出错处闪烁但不呜叫(缺省)
    set ic                          " 在查询及模式匹配时忽赂大小写
    set nu        
    set number                " 屏幕左边显示行号
    set showmatch          " 显示括号配对,当键入“]”“)”时,高亮度显示匹配的括号
    set showmode           " 处于文本输入方式时加亮按钮条中的模式指示器
    set showcmd             " 在状态栏显示目前所执行的指令,未完成的指令片段亦会显示出来
    set warn/nowarn        " 对文本进行了新的修改后,离开shell时系统给出显示(缺省)
    set ws/nows               " 在搜索时如到达文件尾则绕回文件头继续搜索
    set wrap/nowrap        " 长行显示自动折行
    colorscheme evening " 设定背景为夜间模式
    filetype plugin on        " 自动识别文件类型,自动匹配对应的, “文件类型Plugin.vim”文件,使用缩进定义文件
    set autoindent            " 设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置
    set cindent                 " 以C/C++的模式缩进
    set noignorecase       " 默认区分大小写
    set ruler                     " 打开状态栏标尺
    set scrolloff=5            " 设定光标离窗口上下边界 5 行时窗口自动滚动
    set shiftwidth=4          " 设定 << 和 >> 命令移动时的宽度为 4
    set softtabstop=4       " 使得按退格键时可以一次删掉 4 个空格,不足 4 个时删掉所有剩下的空格)
    set tabstop=4             " 设定 tab 长度为 4
    set wrap                     " 自动换行显示
    syntax enable
    syntax on                    " 自动语法高亮

    然后按ESC退出编辑状态,下面的“--插入--”消失。

    接着按:w保存文件

    随后是:q退出vim返回终端

    如此便完成了对于vim的安装和设定。

    附一些vim的相关知识:

    一  基础知识

    Vim最令人混淆的特征之一是她拥有3种模式.

    插入模式: 输入文本

    命令模式:执行命令. 也称为正常模式.

    Ex模式: 执行 冒号 命令

    插 入模式并不是缺省的模式,您必须按下i来进入插入模式,在屏幕上输入一些文字. 按下按钮将从插入模式转到命令模式.命令模式用于移动和操纵文本,有时以非常有趣的方式进行. Ex模式用于执行冒号命令,比如保存,查找/替换以及配置vim等.欲保存文本,您只需要在正常模式下输入:进入Ex模式并输入:w filename.退出vim请执行冒号命令:q.总结如下,
    vim (启动vim)
    i (进入插入模式)
    <输入文本>
    (回到命令模式)
    :w filename (保存文件为'filename')
    :q (退出vim)
    vim filename (打开您刚才在vim中保存的文件)

    请记住,最好的学习vim的方式是使用她.您可以通过内置的vim教程来学习vim的基本使用,只需要在终端中输入vim-tutor (在dapper中请输入vimtutor).

    二  常用命令

    当你进入vi 时,会首先进入命令方式(同时也是编辑方式)。
    按下I就进入插入方式,用户输入的可视字符都添加到文件中,显示在屏幕上。
    按下ESC就可以回到命令状态(同时也是编辑方式)。
    编辑方式和命令方式类似,都是要输入命令,
    但它的命令不要以:开始,它直接接受键盘输入的单字符或组合字符命令,
    例如直接按下u 就表示取消上一次对文件的修改,相当于WINDOWS 下的Undo 操作。
    编译方式下有一些命令是要以/开始的,
    例如查找字符串就是:/string 则在文件中匹配查找string 字符串。
    在编辑模式下按下:就进入命令方式。
    基本命令解释:
    1.光标命令
    k、j、h、l——上、下、左、右光标移动命令。
    虽然您可以在Linux 中使用键盘右边的4 个光标键,
    但是记住这4 个命令还是非常有用的。这4 个键正是右手在键盘上放置的基本位置。
    nG——跳转命令。n 为行数,该命令立即使光标跳到指定行。
    Ctrl+G——光标所在位置的行数和列数报告。
    w、b——使光标向前或向后跳过一个单词。
    2.编辑命令
    i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。
    cw 、dw—— 改变( 置换)/删除光标所在处的单词的命令 (c=change 、d=delete)。
    x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。
    3.查找命令
    ---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。
    4.拷贝复制命令
    ---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。
    常用操作:
    无论是开启新档或修改旧文件,都可以使用vi,所需指令为:
      $ vi filemane
    如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在创建新文件。
    如果文件早已存在,vi 则会显示文件的首廿四行, 用户可再用光标(cursor)上下移动。


    上面是一个经vi 开启的模拟文件,一行开始处的波折号(~)表示文件的结尾。
    —指令i 在光标处插入正文
    —指令I 在一行开始处插入正文
    —指令a 在光标後追加正文
    —指令A 在行尾追加正文
    —指令o 在光标下面新开一行
    —指令O 在光标上面新开一行
    在插入方式下,不能打入指令,必需先按〈Esc〉键,返回命令方式。
    假若户不知身处何态,也可以按〈Esc〉键,不管处於何态,都会返回命令方式。
    在修改文件时,如何存档及退出指定文件都非常重要。在vi 内,行使存档或退出的指令时,
    要先按冒号(:),改变为命令方式,用户就可以看见在荧幕左下方,出现冒号(:),
    显示vi 已经改为指 令态,可以进行存档或退出等工作。
    :q!放弃任何改动而退出vi,也就是强行退出
    :w 存档
    :w! 对于只读文件强行存档
    :wq 存档并退出vi
    :x 与wq 的工作一样
    :zz 与wq 的工作一样删除正文
    删除或修改正文都是利用编辑方式,故此,下面所提及的指令只需在编辑方式下,
    直接键入指令即行。
    —x 删除光标处字符(Character)
    —nx 删除光标处後n 个字符
    —nX 删除光标处前n 个字符
    —ndw 删除光标处下n 个单词(word)
    —dd 删除整行
    —d$或D 删除由光标至该行最末
    —u 恢复前一次所做的删除
    当使用vi 修改正文,加减字符时,就会采用另一组在编辑方式下操作的指令。
    — r char 由char 代替光标处的字符
    —Rtext〈Esc〉由text 代替光标处的字符
    —cwtext〈Esc〉由text 取代光标处的单词
    —Ctext〈Esc〉由text 取代光标处至该行结尾处
    —cc 使整行空白,但保留光标位置,让你开始打入
    —如删除指令一样,在指令前打入的数,表示执行该指令多少次。

    要检索文件,必需在编辑方式下进行。
    —/str〈Return〉向前搜寻str 直至文件结尾处
    —?str〈Return〉往後搜寻str 直至文件开首处
    —n 同一方向上重复检索
    —N 相反方向上重复检索
    —vi 缠绕整个文件,不断检索,直至找到与模式相匹配的下一个出现。
    全程替换命令:
    :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
    如果要替换文件中的路径:
    使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin 换成/bin。
    也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。

    同时编辑2 个文件,拷贝一个文件中的文本并粘贴到另一个文件中:
    命令如下:
    ---- vi file1 file2
    ---- yy 在文件1 的光标处拷贝所在行
    ---- :n 切换到文件2 (n=next) 或者按ctrl+ww,就在两个文件间切换。
    ---- p 在文件2 的光标所在处粘贴所拷贝的行
    ---- :n 切换回文件1 (Ctrl +WW 也可实现切换)

    将文件中的某一部分修改保存到临时文件,
    例如仅仅把第20~59 行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。
    ---- vi file
    ---- :20,59w /tmp/1

    如果要在 vi 执行期间,转到shell 执行,使用惊叹号(!)执行系统指令,
    例如在vi 期间,列出当前目录内容,可以键入 :
    :!ls
    另一方面,用户可以在主目录中创建.exrc 环境文件,用set 打入选项,
    每次调用vi 时,就会读入.exrc 中的指令与设置。下面是.exrc 环境文件的实例:
    set wrapmarging=8
    set showmode
    set autoindent

  • 相关阅读:
    FEniCS 1.1.0 发布,计算算术模型
    Piwik 1.10 发布,增加社交网站统计
    淘宝褚霸谈做技术的心态
    CyanogenMod 10.1 M1 发布
    Druid 发布 0.2.11 版本,数据库连接池
    GNU Gatekeeper 3.2 发布
    Phalcon 0.9.0 BETA版本发布,新增大量功能
    EUGene 2.6.1 发布,UML 模型操作工具
    CVSps 3.10 发布,CVS 资料库更改收集
    Opera 移动版将采用 WebKit 引擎
  • 原文地址:https://www.cnblogs.com/mafeng/p/5615550.html
Copyright © 2020-2023  润新知