User Tools

Site Tools


vim

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

vim [2011/06/28 14:39]
k2patel
vim [2020/08/10 02:35]
Line 1: Line 1:
-====== VIM ====== 
-There'​s an old joke that Emacs would be a great operating system if only it had a decent text editor,\\ 
-whereas vi would be a great text editor if only it had a decent operating system. 
- 
-==== File Cleaning ==== 
- 
-=== Remove Blank line from the file === 
- 
-to remove blank lines please use following. 
-<code bash> 
-:g/^$/d 
-</​code>​ 
-OR 
-<code bash> 
-:g/^ *$/d 
-</​code>​ 
- 
-=== Remove Tailing space as well space at beginning using VI === 
- 
-To remove tailing space 
-<code bash> 
-:%s/\s\+$// 
-</​code>​ 
- 
-To remove space at beginning 
-<code bash> 
-:%s/^\s\+// 
-</​code>​ 
- 
-=== Replace tab with space === 
- 
-To replace tab with space you need to use 
-<code bash> 
-:​%s/​[CTRL-i]/​ /g 
-</​code>​ 
- 
-=== Delete Line start with === 
- 
-To delete lines start with some word e.g. Redirect ​ 
-<code bash> 
-:​g/​^Redirect/​d 
-</​code>​ 
- 
-=== Remove Dos / Windows carriage-return === 
- 
-To remove Carriage return in vi use following 
-<code bash> 
-:%s/^M//g 
-</​code>​ 
-NOTE : to create "​^M"​ use "​Ctrl+v Ctrl+M"​ Regular ^M does not help. 
- 
-==== Convert all character to lower OR upper case ==== 
-NOTE : This will apply to whole file as we are using (%)\\ 
-To convert upper case use following 
-<code bash> 
-:​%s/​\([a-z]\)/​\u\1/​g 
-</​code>​ 
-To convert lower case use following 
-<code bash> 
-:​%s/​\([A-Z]\)/​\l\1/​g 
-</​code>​ 
- 
-==== Match Start of line Append End of line ==== 
- 
-To Match Start of line and append that line use following\\ 
-(search Append end of line) 
-<code bash> 
-%g/​^DocumentRoot/​s/​$/​\/​www/​ 
-</​code>​ 
- 
-Which append "/​www"​ if start of line is "​DocumentRoot"​. 
- 
-Also you can append after word by following. 
- 
-<code bash> 
-%s/​word/&​test/​g 
-</​code>​ 
- 
-So all word is get replaced by "​wordtest"​. 
- 
- 
-==== Marking ==== 
-<code vim> 
-mk - record current location as mark k (redefines any previous mark k) 
-'k - return to line of mark k                
-`k - return to mark k 
-d'k - delete to line of mark k              ​ 
-d`k - delete to mark k 
-c'k - change text to line of mark k          
-c`k - change text to mark k 
-"​ay'​d - yank text into buffer a from cursor through line of mark d 
-</​code>​ 
- 
-===== VIM Scripts ===== 
-Introduction to vim scripts ​ ":help vim-script-intro"​\\ 
- 
-== Running Vim scripts == 
-There is many way to run vim script simple way is to run calling script from `source` 
-<code bash> 
-:source /​home/​yahoo/​test.vim 
-</​code>​ 
-You can also call command from script directly 
-<code bash> 
-:call MyBackupFunc(expand('​%'​),​ { '​all':​1,​ '​save':'​recent'​}) 
-</​code>​ 
-You can do mapping of the keyboard using the variables. 
-<code bash> 
-:nmap ;s :source /​home/​yahoo/​test.vim<​CR>​ 
-</​code>​ 
-The key sequence `;s` will execute the specified script file\\ 
-You can call fucntion using the stored mapping same way. 
-<code bash> 
-:nmap \b :call MyBackupFunc(expand('​%'​),​ { '​all':​ 1 })<​CR>​ 
-</​code>​ 
-To call the function you need to call enter squence `\b` 
- 
-=== syntax highlighting === 
-VIM support syntax highlighting. to turn it on. 
-<code bash> 
-:syntax on 
-</​code>​ 
-to turn it off 
-<code bash> 
-:syntax off 
-</​code>​ 
- 
-=== VIM Variable / Initialization (.vimrc) === 
- 
-== toggle syntax highlighting == 
-<code bash> 
-function! ToggleSyntax() 
-   if exists("​g:​syntax_on"​) 
-      syntax off 
-   else 
-      syntax enable 
-   endif 
-endfunction 
- 
-nmap <​silent> ​ ;s  :call ToggleSyntax()<​CR>​ 
-</​code>​ 
-`;s` sequence to flip syntax highlighting on or off every time typed when you're in Normal mode.\\ 
-nmap stands for "​normal-mode key mapping"​.\\ 
-<​silent> ​ option causes the mapping not to echo any command it's executing. 
-==  Creating centered titles == 
-<code bash> 
-function! CapitalizeCenterAndMoveDown() 
-   ​s/​\<​./​\u&/​g ​  "​Built-in substitution capitalizes each word 
-   ​center ​       "​Built-in center command centers entire line 
-   ​+1 ​           "​Built-in relative motion (+1 line down) 
-endfunction 
- 
-nmap <​silent> ​ \C  :call CapitalizeCenterAndMoveDown()<​CR>​ 
-</​code>​ 
-single backslash used for continuation marker 
-<code bash> 
-call SetName( 
-\             ​first_name,​ 
-\             ​middle_initial,​ 
-\             ​family_name 
-\           ) 
-</​code>​ 
-Also you can use "​|"​ to write two line on singe line. 
-<code bash> 
-echo "​Starting..."​ | call Phase(1) | call Phase(2) | echo "​Done"​ 
-</​code>​ 
-You can comment using single quote, as double quote used to define a string.\\ 
-also you can use "​|"​ to escape the comment in some cases. 
-<code bash> 
-echo "> " |"​Print generic prompt 
-</​code>​ 
-=== Defining variable === 
-to define variable you need to use word `let` 
- 
-<code bash> 
-let name = "​Damian"​ 
-let height = 165 
-let interests = [ '​Cinema',​ '​Literature',​ 'World Domination',​ 101 ] 
-let phone     = { '​cell':​5551017346,​ '​home':​5558038728,​ '​work':'?'​ } 
-</​code>​ 
- 
-    *  scalar: a single value, such as a string or a number. For example: "​Damian"​ or 165 
-    * list: an ordered sequence of values delimited by square brackets, with implicit integer indices starting at zero. For example: ['​Cinema',​ '​Literature',​ 'World Domination',​ 101] 
-    * dictionary: an unordered set of values delimited by braces, with explicit string keys. For example: {'​cell':​5551017346,​ '​home':​5558038728,​ '​work':'?'​} 
- 
-==== Basic Info ==== 
-== Variable scoping == 
-<code text> 
-g: varname ​ The variable is global 
-s: varname The variable is local to the current script file 
-w: varname The variable is local to the current editor window 
-t: varname The variable is local to the current editor tab 
-b: varname The variable is local to the current editor buffer 
-l: varname The variable is local to the current function 
-a: varname The variable is a parameter of the current function 
-v: varname The variable is one that Vim predefines 
-</​code>​ 
-== pseudovariables == 
-<code text> 
-& varname ​ A Vim option (local option if defined, otherwise global) 
-&l: varname A local Vim option 
-&g: varname A global Vim option 
-@ varname A Vim register 
-$ varname An environment variable 
-</​code>​ 
  
vim.txt ยท Last modified: 2020/08/10 02:35 (external edit)