a byte of vim -- 學習摘要

來源:互聯網
上載者:User

標籤:upgrade   imp   rds   nim   phi   opera   vim   latest   power   

說在前面的話 -- a byte of vim 是我見過的最介紹vim 最好的書,想瞭解強大的vim的人,或者是已經在使用vim而打算進一步瞭解的人,我感覺都應該看看這個,內容精鍊但涵蓋非常廣,……“vim為什麼這麼強大”,當看完這本書時,我想你就能全然的瞭解了……此外。本書是一英文版,但非常easy,學語言的同一時候學習英語非常不多……

附上最新版的下載連結 http://download.csdn.net/detail/wuzhimang/8933257  ,當然上官網才是硬道理


下面是自己針對a byte of vim 做的學習摘要。原文的內容,方便自己以後使用與回顧 —— 由於好書(哪怕是工具書)讀一兩遍是不夠的


## A Byte of Vim

1.Perface
    "There is no great writing, only great rewriting." -- Louis Brandeis
    "Vim if one of the few pieces of software that I use for nearly 10 hours a day." -- Authors
    The mantra is *Concepts. Examples. Pithy*
    Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.

2.Introduction
    Powerful means following the paradigm of "Minimal effort. Maximal effect."

    Press *        Run :sp        Run :50        Run :,100s/old/new/g    Press gf
    Run :colorscheme desert        Run :nmap <c-s> :w<CR>
    Run :mksession ~/latest_session.vim -> vim -S ~/latest_session.vim
    Run :syntax on -> :set filetype=Wikipedia
    Run :set foldmethod=indent    Run :tabedit <file>
    Press ctrl-n    Run :0,10s/form/to/gc    Run :%s/from/to/g    
    Run :help vim-modes-intro    Run :edit hello.txt    Run :e hello.txt
    Run :help notation    Run :help keycodes
    Press db    Press dw    Press 2d3w

3.Modes
    There are three basic modes in Vim - normal, insert and visual

    Run :echo "hello world"        Run :help usr_toc    
    Run :help index    
    Run :help vim-modes-intro    Run :help mode-switching
    a,A i,I o,O r,R s,S     v,V

4.Typing Skills
    vi/vim graphical cheat sheet    

    Press } { ( )         ~Press 3fh~
    Press ctrl-o    Press ctrl-i
    Press ^ $ ctrl-f crtl-b
    Press G H M L     Press : help word-motions
    Press :help cursor-motions
    Press :help text-objects    Press :help motion/various motions

5.Help
    Run :help    Run :help usr-manual
    Run :help abbreviate     Press ctrl-]    
    Run :helpgrep gt    Run :cnext Run :cprev Run:clist
    Press ma -> Press ‘a     Press ~
    Run :let &keywordprg=‘:help‘

    "The true delight is in the finding out rather than in the knowing"

6.Editing Basics
    Run :swapname    Run :help swap-file

    nmap <c-s> :w<CR>
    imap <c-s> <Esc>:w<CR>a
    Run :e ../tmp/test.txt    cd    pwd
    Run :e C:\\shopping\\monday.txt
    y -> yank
    1G and | -> moves to the first line and the first column respectively
    Run :dl    dw
    yy -> operation name twice, it will operate on the
    yap -> yank the current paragraph    
    xp -> swap two characters
    dwwP -> swap two words
    m{a-zA-z} -> ‘{a-zA-Z}

    "If I had eight hours to chop down a tree, I‘d spent six hours sharpening my axe" -- Abraham Lincoln

    u/U <-> ctrl-r --> undolevels    :earlier 4m    :later 45s
    :undolist    Run :help :undolist/undo-redo/usr_32.txt

    set incsearch/ignorecase/smartcase --> /step /Step
    Run :help vimrc-intro    :help pattern
    Run :/\<step\>    /\d\+    /\d\*    

7.Multiplicity
    :set foldmethod=indent --> zc zo za
    :nnoremap <space> za --> noremap

    Run :help buffer-list    :buffers    :ls    :bd 1
    :e test.txt    
    :sp or ctrl-w s        :vsp or ctrl-w v
    ctrl-w r --> rotate the windows
    ctrl-w K --> move the current windows to the topmost position
    ctrl-w _ --> make the cutternt windows as big as possible
    ctrl-w = --> make the windows ‘equal‘ in height again
    :resize 10
    :help windows

    :tabnew        :tabc    :help tabpage
    :tab help tabpage    :tabmove 0    :tabdo    
    :help setting-guitablabel

8.Personal Information Management


9.Scripting
    qa --> to start recording the macro named as a (register)
    gUl --> to switch the first letter to upper case
    g# # g* *
    q --> stop recording the macro
    @a --> apply this to other lines
    . --> repeat the last action    
    :colorscheme desert --> <tab> to cycle through the available schemes

    :echo strlen(getline(‘.‘))
            
    :let len = strlen(getline(‘.‘))
    :echo "We have ‘len‘ characters in this line."
        
    :echo $HOME    :echo &filetype        :echo @a
    :help function-list

    :source capitalize.vim        :call Capitalize()
    :echo has("python")
        
    :help eval    :help python-commands    :help perl-using    
    :help ruby-commands    

    
10.Plugins
    There are various kinds of plugins that can be written
    --> vimrc     --> global plugin    --> filetype plugin
    --> syntax highlighting plugin        --> compiler plugin

    vimrc --> for general customizations
    gvimrc --> for GUI specific customizations
    :help vimrc

    the colon is optional when writing scripts in files

    vim -u NONE -> start up Vim without any initialization scripts being run
    :hlep -u        :help starting

    
11.Programmers Editor
    "Let‘s me reiterate that typing skills is critical for a programmer"
    "We are typists first, programmers second"

    :set filetype=vim       $VIMRUNTIME/syntax --> the list of language types available
    svn diff | vim -R -
    :set autoindent     :set smartindent
    % -> bounce(curly bracket)
    ! -> shell commands     :sh -> a full-fledged shell     :%!sort

    gf -> open the file     gd -> move to the local definition of the variable name
    gD -> the global declaration        ]] ->
    :help object-motions    [I -> display all lines that contain they keyword under the cursor

    :Vex ->         :Sex ->

    ctags   cscope  :make
    omnicompletion -> pythoncomplete.vim -> ftplugin/<language>complete.vim
    :runtime! autoload/pythoncomplete.vim
    ~/.vimrc -> autocmd FiltType python runtime! autoload/pythoncomplete.vim
    ctrl-n  ctrl-p
    :help new-omni-completion
    imap <c-space> <c-x><c-o> -> omnicompletion
    snippet -> SnippetsEmu
    :source %       :runtime! ftplugin/python_snippets.vim

    
12.More
    Modeline -> vim: noexpandtab
    Portable Vim -> GVimPortable.exe
    Upgrade plugins -> :GLVS(which stands for ‘G‘et ‘L‘atest ‘V‘im ‘S‘cripts)
                    -> :help getscript
    Dr.Chip‘s plugins -> drawit.vim
    Blog from Vim -> Vimpress plugin
    Make Firefox work like Vim -> Vimperator add-on
    Contribute to Vim -> :help development
    Bram‘s talk on the seven habits -> "Seven habit of effective text editing"
    Community -> hang out at the [email protected]


13.What Next
    The other important resources -> "Best of Vim Tips"  :help user-manual -> the all-important
    :help new-7



a byte of vim -- 學習摘要

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.