zoukankan      html  css  js  c++  java
  • vim——黑暗时代的最强编辑器

     

    vim 文本换行

    gq{motion} % format the line that {motion} moves over
    {Visual}gq % format the visually selected area
    gqq        % format the current line
    gf    open file under current cursor

     VIM

    setlocal all
    setlocal   ...  Like ":set" but set only the value local to the current buffer or window. 
    setglobal  ...   Like ":set" bu set only the global value for a local option without changing the local value.
    
    For buffer-local and window-local options:
            Command                      global value                  local value
          :set option=value                 set                           set
     :setlocal option=value                  -                            set
    :setglobal option=value                 set                            -
         :set option?                      -                           display
     :setlocal option?                       -                           dispaly
    :setglobal option?                     display                         -
    

    VIM

    'formatoptions' 'fo'  string(Vim default: "tcq", Vi default: "vt")
                          local to buffer
    This is a sequence of letters which describes how automatic formatting is to be done.
    NOTE: This option is set to the Vi default value when 'compatible' is set and to the Vim default value when 'compatible' is reset.
    
    ls help
     u            an unlisted buffer (only displayed when [!] is used)
        %        the buffer in the current window
        #         the alternate buffer for ":e #" and CTRL-^
          a       an active buffer: it is loaded and visible
          h       a hidden buffer: It is loaded, but currently not displayed in a window
            -      a buffer with 'modifiable' off
            =     a read-only buffer
            ?      a terminal buffer without a job
              +    a modified buffer
              x    a buffer with read errors
    
    Unless I'm missing something, Vim already does that. If I highlight some text using the mouse or by typing v and moving the cursor, I see at the bottom of the screen
    
    -- VISUAL --                                        12
    
    set showcmd
    
    echo len("foo")
    echo strlen("foo")
    
    zf{motion} or {Visual}zf             Operator to create a fold.
                                                   This only works when 'foldmethod' is "manual" or "marker". The new fold will be closed for the "manual" method. 'foldenable' will be set.
    Also see |fold-create-marker|.
    
    zo                            Open one fold under the cursor. When a count is given, that many folds deep will be opened. In Visual mode one level of folds is opened for all lines in the selected area.
    
    zc                            Close one fold under the cursor. When a count is given, that many folds deep are closed. In Visual mode one level of folds is closed for all lines in the selected area. 'foldenable' will be set.
    

     VIM Search

    Multiple repeats                 multi-repeat
                                     :g  :global  E148
    
    :[range]g[lobal]/{pattern}/[cmd]
                                        Execute the Ex command [cmd] (default ":p") on the
                                        lines within [range] where {pattern} matches.
    
    :[range]g[lobal]!/{pattern}/[cmd]
                                        Execute the Ex command [cmd] (default ":p") on the
                                        lines within [range] where {pattern} does NOT match.
    
    :[range]v[global]/{pattern}/[cmd]
                                        Same as :g!
    
    Instead of the '/' which surrounds the {pattern}, you can use any other single
    byte character, but not an alphabetic character, '\', '"' or '|'.
    This is useful if you want to include a '/' in the search pattern or replacement
    string.
    

     VIM Echo

    :!echo %                        --> filename
                 The arguments of ":!" are expanded, see :_%
    :!echo "%"                      --> filename or 'filename"
                 Like the previous example. Whether you see the double
                 quotes or not depends on your 'shell'.
    :echo %                          --> nothing
                  The '%' is an illegal character in an expression.
    :echo "%"                       --> %
                  This just echoes the '%' character.
    :echo expand("%")          --> filename
                  This calls the expand() function to expand the '%'.
    
                                               filename-modifiers
    :_%   ::8   ::p   ::.   ::~  ::h  ::t  ::r  ::e  ::s  ::gs  ::S
        %:8  %:p  %:.  %:~  %:h  %:t  %:t  %:r  %:e  %:s  %:gs  %:S
    The file name modifiers can be use after "%", "#", "#n", "<cfile>", "<sfile>",
    "<afile>" or "<abuf>". They are also used with the fnamemodify() function.
    

    Bibliography

    http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

    https://www.cs.swarthmore.edu/oldhelp/vim/silly.html

    https://gist.github.com/awidegreen/3854277

  • 相关阅读:
    BZOJ1409 : Password
    BZOJ2862 : 分糖果
    BZOJ2093 : [Poi2010]Frog
    BZOJ2506 : calc
    BZOJ3290 : Theresa与数据结构
    BZOJ1397 : Ural 1486 Equal squares
    BZOJ2789 : [Poi2012]Letters
    BZOJ3417 : Poi2013 Tales of seafaring
    BZOJ3251 : 树上三角形
    BZOJ3262 : 陌上花开
  • 原文地址:https://www.cnblogs.com/anyboo/p/2660353.html
Copyright © 2011-2022 走看看