zoukankan      html  css  js  c++  java
  • Vim【学习笔记】

    【2017-02-04】

    先放几个比较好的资料,看这些资料就好了:

    1.Vim入门基础 http://www.jianshu.com/p/bcbe916f97e1

    2.vim配置 http://blog.csdn.net/g_brightboy/article/details/14229139

    3.简明Vim练级攻略 http://coolshell.cn/articles/5426.html

    4.http://blog.csdn.net/mu_zhou233/article/details/53045831

    【update:2017-02-18】学会了替换,注意[需要转义


    吐槽:在Mac OS上安装Vim好麻烦啊.........,并且mvim不支持shift选择了呜呜并且ctrl和command建都不知道按哪个,还是gvim好


    我的配置文件

    " Candy? MacOS
    
    set number
    set ruler
    set tabstop=4
    set shiftwidth=4
    set autoindent
    set smartindent
    filetype on
    syntax on
    colorscheme solarized
    set showmatch
    set guifont=Monaco:h20
    set mouse=a
    set selection=exclusive
    set selectmode=mouse,key
    nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o 
    nnoremap <F8> <Esc>:!./
    nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR>
    nnoremap <F10> <Esc>:!./a<CR>
    " Candy? Windows
    
    set number
    set ruler
    set tabstop=4
    set shiftwidth=4
    set autoindent
    set smartindent
    filetype on
    syntax on
    colorscheme solarized
    set showmatch
    set guifont=monaco:h16
    set mouse=a
    set selection=exclusive
    set selectmode=mouse,key
    nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o 
    nnoremap <F8> <Esc>:!
    nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR>
    nnoremap <F10> <Esc>:!a<CR>
    set nohlsearch

    后几个是为了方便编译(然而并不如直接在终端编译)

    字体 Mac上用Monaco 20号(Monaco字体太漂亮了太可爱了),Windows上用16号

    机房电脑的环境变量Path设置:

    C:Program Files (x86)Vimvim80;C:Program Files (x86)Dev-CppMinGW64in;



     命令概览:

    命令前加数字N可以重复命令(通常是接下来N行/N个字符进行命令)

    通常小写字母与下有关,大写字母与上有关


    [附录]一些命令:

    k                上移;
    j                下移;
    h                左移;
    l                右移。
    gg 将光标定位到文件第一行起始位置;
    G 将光标定位到文件最后一行起始位置;
    0             数字0,左移光标到本行的开始;
    $ 右移光标,到本行的末尾;
    ^       移动光标,到本行的第一个非空字符。

     fc

     Fc

    <C+u>
    <C+d>
    Ctrl+e            往后滚动一行        
    Ctrl+y            往前滚动一行   //windows不行?
     

    *          当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处;
    /str1                正向搜索字符串 str1;
    n                    继续搜索,找出 str1 字符串下次出现的位置;
    N                    继续搜索,找出 str1 字符串上一次出现的位置;
    ?str2                反向搜索字符串 str2 。

    
    
    x                  删除光标所指向的当前字符;
    nx                 删除光标所指向的前 n 个字符;

    dd 删除光标所在行,并去除空隙; ndd 删除(剪切) n 行内容,并去除空隙;
    d$                从当前光标起删除字符直到行的结束;
    d0                从当前光标起删除字符直到行的开始;

    dt" → 删除所有的内容,直到遇到双引号—— "

     d和y都可以当成两边加上范围用....(默认第一个范围是当前位置)

    p               小写字母 p,将缓冲区的内容粘贴到光标的后面;
    P               大写字母 P,将缓冲区的内容粘贴到光标的前面。
    yy              复制当前行到内存缓冲区;
    nyy             复制 n 行内容到内存缓冲区;
    “+y             复制 1 行到操作系统的粘贴板;
    “+nyy           复制 n 行到操作系统的粘贴板。

    u               撤消前一条命令的结果;
    <C+r>      恢复命令 . 重复最后一条修改正文的命令。

    i            在光标左侧插入正文
    a            在光标右侧插入正文
    o            在光标所在行的下一行增添新行
    O            在光标所在行的上一行增添新行
    I            在光标所在行的开头插入
    A            在光标所在行的末尾插入

    :n             将光标移到第 n 行

    正则表达式 替换:

    :s/str1/str2/         用字符串 str2 替换当前行中首次出现的字符串 str1
    :s/str1/str2/g        用字符串 str2 替换当前行中所有出现的字符串 str1
    :%s 所有行 :.,$ s/str1/str2/g 用字符串 str2 替换当前行到末尾所有出现的字符串 str1 :1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
    :m,ns/str1/str2/g 将从m行到n行的str1替换成str2

    :split(可用缩写 :sp)            上下分屏;
    :vsplit(可用缩写 :vsp)          左右分屏。
    <C+w+w> 切换
    :res 大小

    :tabnew 新标签
    gt gT    标签切换

    << >> 缩进 


    可视 块

    <C+v> <C+q>

  • 相关阅读:
    oracle游标
    PLSQL
    git移除target目录下已经提交的内容案例
    git全局配置
    [github]Windows系统下将本地仓库的项目上传到远程仓库(含仅单独上传更新文件情况)
    小试Python交互模式(Python Shell)与读文件操作报错(OSError)的解决办法
    C盘内存“侵略者”——Unity开发环境中GI Cache默认目录的修改
    Hibernate学习——Hibernate Tools for Eclipse Plugins的下载与安装
    博客开篇——应用Markdown编辑器呈现样式和内容
    pt-table-checksum使用dsn方式连接检测从库
  • 原文地址:https://www.cnblogs.com/candy99/p/vim.html
Copyright © 2011-2022 走看看