zoukankan      html  css  js  c++  java
  • vim 常用配置 及 常用 命令

    在 ubuntu下 ,一般 有 两个 地方  可以 配置 vim 编辑器:

    1、 修改 /etc/vim/vimrc ,将会 对 所有用户 起作用。

    2、修改 /home/test/.vimrc ,只对 test 用户 起作用。

    --------------------------------------------------

    vim 语法:

    1、在 vim配置文件里,用 " 作为 行 注释符号,可以放在 一行的 任何位置。

    2、配置 文件 的 结尾 绝对  不能 有 注释,最好 用 set nu 类似的 结尾;


    "==========================  常用 vim 配置  =====================

    ”1.基本设置:

    set nu  "显示行号

    set nonu  "不显示行号,默认

    set ic  "查找时不考虑大小写

    set noic  "查找时考虑大小写,默认

    set hlsearch  " 搜索时高亮显示被找到的字符,hls

    set mouse=a   "设定在任何模式下鼠标都可用,相当于 光标 跟在 鼠标走,副作用是 :选中该项 将无法用鼠标复制,鼠标 将失去的 右键的 复制功能

    set tabstop=4                   "设置tab长度为4,默认为8,ts

    set shiftwidth=4                "设定>命令移动时宽度为4,sw

    set expandtab                      "编辑时将所有 Tab 替换为空格,et

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

    set softtabstop=4               "使得按退格键时可以一次删除4个空格
    set autoindent                  "自动缩进,默认 打开

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

     "     知道了这个症状的来由, 解决方案也就显而易见了: 在粘贴的时候把所有自动缩进都关闭, 粘贴完毕之后再打开。 一个个手工关闭自动缩进未免过于繁琐, vim 为我们提供了一个很好用的命令, 只要输入“:set paste”, 就可以关闭所有自动缩进。 粘贴完毕后再输入“:set nopaste”就可以重新打开原有的自动缩进设置了。

    "set nowrap  "指定不折行,如果一行太长, 超过屏幕宽度, 则向右边延伸到屏幕外面

    set wrap                        "自动换行显示,默认方式

    "在你编辑你的电子邮件或者其他有段落的文本时,你可能会发现使用方向键和你预期的效果不一样,有时候可能会一次跳过了很多行。这是因为你的段落在 VIM 看来是一个大的长长的行。这时你可以在按 h、j、k 或者 l 之前键入一个 g,这样 VIM 就会按屏幕上面的行如你所愿的移动了


    set formatoptions=tcqro         "使得注释换行时自动加上前面的的 // 注释符


    "--------------------- 个人 配置 ------------------

    "设置命令行和状态栏
    set cmdheight=1                 "设定命令行的行数为1
    set laststatus=2                "显示状态栏(默认值为1,无法显示状态栏,为2时显示状态栏)

    set ruler                        "标尺信息,显示当前光标的坐标,这一步 需要设置 ”显示状态栏“,才能看到效果

    set statusline=%F%m%r\ ASCII=\%b,HEX=\%B,%l,%c%V\ %L-%p%%
            "设置在状态行显示的信息如下:
                "   %F              当前文件名
                "   %m              当前文件修改状态
                "   %r              当前文件是否只读
                "   %Y              当前文件类型
                "   %{&fileformat}  当前文件编码
                "   %b              当前光标处字符的ASCII码值
                "   %B              当前光标处字符的十六进制值
                "   %l              当前光标行号
                "   %c              当前光标列号
                "   %V              当前光标虚拟列号(根据字符所占字节数计算)
                "   %p              当前行占总行数的百分比
                "   %%              百分号
                "   %L              当前文件总行数



    "获取当前文件名
    function GetFileName()
        return bufname(winbufnr(winnr()))  "获取当前窗口缓冲区的名字
    endfunction

    "获取当前时间,精确到分
    function GetDateTime()
        return strftime("%Y-%m-%d %H:%M")
    endfunction


    "恢复文件关闭之前光标位置
    if has("autocmd")
      au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
    endif

    "用 ctrl+v 组合键,添加 如下 信息:
    nmap <C-V> i/************************************************************<CR>
    \<CR>******* *   Function :     <CR>
    \<CR>******* *     Time   :    ZaiLang<CR>
    \<CR>******* *    Author  : <C-R>=GetDateTime()<ESC>    <CR>
    \<CR>***************************************************************/<CR><ESC>kkkkkkklllllllllllllllllllllllllli

    “=========================  以下  是 我的 常用 命令  =====================================

    w:光标往前移动一个词。
    b:光标往后移动一个词。
    0:移动光标到当前行首。
    ^:移动光标到当前行的第一个字母位置。
    $:移动光标到行尾。


    <C-F>:向下移动一屏。
    <C-B>:向上移动一屏。
    G:到文件尾
    numG:移动光标到指定的行(num)。(比如 10G 就是到第 10 行)
    gg:到文件首
    H:移动光标到屏幕上面
    M:移动光标到屏幕中间
    L:移动光标到屏幕下面

    `.:到你上次编辑文件的地方。这个命令很有用,而且你不用自己去标记它。













    ===========================================



  • 相关阅读:
    Opengl绘制我们的小屋(二)第一人称漫游
    C# this.Invoke和this.BeginInvoke 最简单的写法
    C# 递归模型定义。赋值
    .net Core 2.1 后 Session保存,新页面获取不到值
    .net core mvc 错误信息显示 ModelState.AddModelError
    .net Core 依赖注入 Add********说明
    C# 中2个问号的作用。C#的??代表是什么意思
    asp.net mvc 加三层架构 完美搭配
    C# DataTable.Compute()用法
    C# DateTime判断时间
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744808.html
Copyright © 2011-2022 走看看