Update runtime files.

This commit is contained in:
Bram Moolenaar
2015-01-07 16:57:10 +01:00
parent a162bc555e
commit 8feef4ff62
23 changed files with 3343 additions and 1295 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Aug 27, 2013
" Date: Dec 30, 2014
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 14
" Version: 15
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v14"
let g:loaded_netrwSettings = "v15"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
@ -31,7 +31,7 @@ endif
" NetrwSettings: {{{1
fun! netrwSettings#NetrwSettings()
" this call is here largely just to insure that netrw has been loaded
call netrw#NetrwSavePosn()
call netrw#SavePosn()
if !exists("g:loaded_netrw")
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
return
@ -177,6 +177,7 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
put = 'let g:netrw_servername = '.g:netrw_servername
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd

View File

@ -61,9 +61,16 @@ function! netrw_gitignore#Hide(...)
" convert gitignore patterns to Netrw/Vim regex patterns
let escaped_lines = []
for line in gitignore_lines
let escaped = line
let escaped = substitute(escaped, '\.', '\\.', 'g')
let escaped = substitute(escaped, '*', '.*', 'g')
let escaped = line
let escaped = substitute(escaped, '\*\*', '*', 'g')
let escaped = substitute(escaped, '\.', '\\.', 'g')
let escaped = substitute(escaped, '\$', '\\$', 'g')
let escaped = substitute(escaped, '*', '.*', 'g')
" correction: dot, dollar and asterisks chars shouldn't be escaped when
" within regex matching groups.
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\\\.', '\.', 'g')
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\\\$', '\$', 'g')
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\.\*', '*', 'g')
let escaped_lines = add(escaped_lines, escaped)
endfor

View File

@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.4. Last change: 2012 Aug 04
*gui_w32.txt* For Vim version 7.4. Last change: 2014 Dec 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -452,9 +452,10 @@ detailed elsewhere: see |'mouse'|, |win32-hidden-menus|.
You can drag and drop one or more files into the Vim window, where they will
be opened as normal. See |drag-n-drop|.
*:simalt* *:si*
*:simalt* *:sim*
:sim[alt] {key} simulate pressing {key} while holding Alt pressed.
{not in Vi} {only for Win32 versions}
Note: ":si" means ":s" with the "i" flag.
Normally, Vim takes control of all Alt-<Key> combinations, to increase the
number of possible mappings. This clashes with the standard use of Alt as the

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 7.4. Last change: 2014 Sep 19
*index.txt* For Vim version 7.4. Last change: 2015 Jan 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1465,7 +1465,7 @@ tag command action ~
buffer list
|:sbrewind| :sbr[ewind] split window and go to first file in the
buffer list
|:scriptnames| :scrip[tnames] list names of all sourced Vim scripts
|:scriptnames| :scr[iptnames] list names of all sourced Vim scripts
|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|:scscope| :scs[cope] split window and execute cscope command
|:set| :se[t] show or set options

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.4. Last change: 2014 Nov 05
*options.txt* For Vim version 7.4. Last change: 2014 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -730,8 +730,6 @@ A jump table for the options with a short description can be found at |Q_op|.
open a file, switch buffers, delete a buffer or open/close a window.
It will change to the directory containing the file which was opened
or selected.
This option is provided for backward compatibility with the Vim
released with Sun ONE Studio 4 Enterprise Edition.
Note: When this option is on some plugins may not work.
*'arabic'* *'arab'* *'noarabic'* *'noarab'*

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.4. Last change: 2014 Oct 29
*repeat.txt* For Vim version 7.4. Last change: 2015 Jan 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -235,8 +235,8 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
command is ignored.
{not in Vi}
*:scrip* *:scriptnames*
:scrip[tnames] List all sourced script names, in the order they were
*:scr* *:scriptnames*
:scr[iptnames] List all sourced script names, in the order they were
first sourced. The number is used for the script ID
|<SID>|.
{not in Vi} {not available when compiled without the

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.4. Last change: 2014 Nov 19
*syntax.txt* For Vim version 7.4. Last change: 2015 Jan 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1128,6 +1128,14 @@ to standard by placing this in your vimrc file: >
:let enforce_freedesktop_standard = 1
DIFF *diff.vim*
The diff highlighting normally finds translated headers. This can be slow if
there are very long lines in the file. To disable translations: >
:let diff_translations = 0
DIRCOLORS *dircolors.vim* *ft-dircolors-syntax*
The dircolors utility highlighting definition has one option. It exists to

View File

@ -1398,6 +1398,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
.dic spell.txt /*.dic*
.exrc starting.txt /*.exrc*
.gvimrc gui.txt /*.gvimrc*
.netrwbook pi_netrw.txt /*.netrwbook*
.netrwhist pi_netrw.txt /*.netrwhist*
.vimrc starting.txt /*.vimrc*
/ pattern.txt /*\/*
/$ pattern.txt /*\/$*
@ -2726,7 +2728,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:sbr windows.txt /*:sbr*
:sbrewind windows.txt /*:sbrewind*
:sbuffer windows.txt /*:sbuffer*
:scrip repeat.txt /*:scrip*
:scr repeat.txt /*:scr*
:scripte repeat.txt /*:scripte*
:scriptencoding repeat.txt /*:scriptencoding*
:scriptnames repeat.txt /*:scriptnames*
@ -2761,7 +2763,6 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:sfirst windows.txt /*:sfirst*
:sh various.txt /*:sh*
:shell various.txt /*:shell*
:si gui_w32.txt /*:si*
:sig sign.txt /*:sig*
:sign sign.txt /*:sign*
:sign-define sign.txt /*:sign-define*
@ -2774,6 +2775,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:sign-unplace sign.txt /*:sign-unplace*
:sil various.txt /*:sil*
:silent various.txt /*:silent*
:sim gui_w32.txt /*:sim*
:simalt gui_w32.txt /*:simalt*
:sl various.txt /*:sl*
:sla windows.txt /*:sla*
@ -5415,6 +5417,7 @@ diff-options diff.txt /*diff-options*
diff-original-file diff.txt /*diff-original-file*
diff-patchexpr diff.txt /*diff-patchexpr*
diff.txt diff.txt /*diff.txt*
diff.vim syntax.txt /*diff.vim*
diff_filler() eval.txt /*diff_filler()*
diff_hlID() eval.txt /*diff_hlID()*
digraph digraph.txt /*digraph*
@ -6008,6 +6011,7 @@ g:netrw_errorlvl pi_netrw.txt /*g:netrw_errorlvl*
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
g:netrw_ffkeep pi_netrw.txt /*g:netrw_ffkeep*
g:netrw_file_cmd pi_netrw.txt /*g:netrw_file_cmd*
g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape*
g:netrw_ftp pi_netrw.txt /*g:netrw_ftp*
g:netrw_ftp_browse_reject pi_netrw.txt /*g:netrw_ftp_browse_reject*
@ -6019,6 +6023,7 @@ g:netrw_ftp_timelist_cmd pi_netrw.txt /*g:netrw_ftp_timelist_cmd*
g:netrw_ftpextracmd pi_netrw.txt /*g:netrw_ftpextracmd*
g:netrw_ftpmode pi_netrw.txt /*g:netrw_ftpmode*
g:netrw_glob_escape pi_netrw.txt /*g:netrw_glob_escape*
g:netrw_gx pi_netrw.txt /*g:netrw_gx*
g:netrw_hide pi_netrw.txt /*g:netrw_hide*
g:netrw_home pi_netrw.txt /*g:netrw_home*
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
@ -6026,10 +6031,13 @@ g:netrw_http_put_cmd pi_netrw.txt /*g:netrw_http_put_cmd*
g:netrw_http_xcmd pi_netrw.txt /*g:netrw_http_xcmd*
g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc*
g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
g:netrw_keepj pi_netrw.txt /*g:netrw_keepj*
g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd*
g:netrw_list_cmd_options pi_netrw.txt /*g:netrw_list_cmd_options*
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
g:netrw_localcopycmd pi_netrw.txt /*g:netrw_localcopycmd*
g:netrw_localcopydircmd pi_netrw.txt /*g:netrw_localcopydircmd*
g:netrw_localmkdir pi_netrw.txt /*g:netrw_localmkdir*
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
@ -6050,6 +6058,7 @@ g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
g:netrw_servername pi_netrw.txt /*g:netrw_servername*
g:netrw_sftp_cmd pi_netrw.txt /*g:netrw_sftp_cmd*
g:netrw_silent pi_netrw.txt /*g:netrw_silent*
g:netrw_sort_by pi_netrw.txt /*g:netrw_sort_by*
@ -6998,6 +7007,8 @@ netrw-:Hexplore pi_netrw.txt /*netrw-:Hexplore*
netrw-:Lexplore pi_netrw.txt /*netrw-:Lexplore*
netrw-:MF pi_netrw.txt /*netrw-:MF*
netrw-:MT pi_netrw.txt /*netrw-:MT*
netrw-:NetrwC pi_netrw.txt /*netrw-:NetrwC*
netrw-:NetrwMB pi_netrw.txt /*netrw-:NetrwMB*
netrw-:Rexplore pi_netrw.txt /*netrw-:Rexplore*
netrw-:Sexplore pi_netrw.txt /*netrw-:Sexplore*
netrw-:Texplore pi_netrw.txt /*netrw-:Texplore*
@ -7006,6 +7017,7 @@ netrw-C pi_netrw.txt /*netrw-C*
netrw-D pi_netrw.txt /*netrw-D*
netrw-O pi_netrw.txt /*netrw-O*
netrw-P pi_netrw.txt /*netrw-P*
netrw-P18 pi_netrw.txt /*netrw-P18*
netrw-R pi_netrw.txt /*netrw-R*
netrw-S pi_netrw.txt /*netrw-S*
netrw-Tb pi_netrw.txt /*netrw-Tb*
@ -7035,6 +7047,7 @@ netrw-createfile pi_netrw.txt /*netrw-createfile*
netrw-credits pi_netrw.txt /*netrw-credits*
netrw-ctrl-h pi_netrw.txt /*netrw-ctrl-h*
netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l*
netrw-ctrl-r pi_netrw.txt /*netrw-ctrl-r*
netrw-ctrl_l pi_netrw.txt /*netrw-ctrl_l*
netrw-curdir pi_netrw.txt /*netrw-curdir*
netrw-d pi_netrw.txt /*netrw-d*
@ -7061,6 +7074,7 @@ netrw-gf pi_netrw.txt /*netrw-gf*
netrw-gh pi_netrw.txt /*netrw-gh*
netrw-gitignore pi_netrw.txt /*netrw-gitignore*
netrw-gp pi_netrw.txt /*netrw-gp*
netrw-grep pi_netrw.txt /*netrw-grep*
netrw-gx pi_netrw.txt /*netrw-gx*
netrw-handler pi_netrw.txt /*netrw-handler*
netrw-help pi_netrw.txt /*netrw-help*
@ -7082,6 +7096,7 @@ netrw-login pi_netrw.txt /*netrw-login*
netrw-mB pi_netrw.txt /*netrw-mB*
netrw-mF pi_netrw.txt /*netrw-mF*
netrw-mT pi_netrw.txt /*netrw-mT*
netrw-mX pi_netrw.txt /*netrw-mX*
netrw-mb pi_netrw.txt /*netrw-mb*
netrw-mc pi_netrw.txt /*netrw-mc*
netrw-md pi_netrw.txt /*netrw-md*
@ -7099,6 +7114,7 @@ netrw-mr pi_netrw.txt /*netrw-mr*
netrw-ms pi_netrw.txt /*netrw-ms*
netrw-mt pi_netrw.txt /*netrw-mt*
netrw-mu pi_netrw.txt /*netrw-mu*
netrw-mv pi_netrw.txt /*netrw-mv*
netrw-mx pi_netrw.txt /*netrw-mx*
netrw-mz pi_netrw.txt /*netrw-mz*
netrw-netrc pi_netrw.txt /*netrw-netrc*
@ -7118,6 +7134,7 @@ netrw-p13 pi_netrw.txt /*netrw-p13*
netrw-p14 pi_netrw.txt /*netrw-p14*
netrw-p15 pi_netrw.txt /*netrw-p15*
netrw-p16 pi_netrw.txt /*netrw-p16*
netrw-p17 pi_netrw.txt /*netrw-p17*
netrw-p2 pi_netrw.txt /*netrw-p2*
netrw-p3 pi_netrw.txt /*netrw-p3*
netrw-p4 pi_netrw.txt /*netrw-p4*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.4. Last change: 2014 Dec 14
*todo.txt* For Vim version 7.4. Last change: 2015 Jan 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -54,6 +54,7 @@ Regexp problems:
- Using back reference before the capturing group sometimes works with the old
engine, can we do this with the new engine? E.g. with
"/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
- Diff highlighting can be very slow. (Issue 309)
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
More info Jul 24. Not clear why.
@ -65,41 +66,24 @@ Breaks test_eval. Inefficient, can we only compute y_width when needed?
Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28)
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
When window number in Ex range is too high, should give an error:
:3close " fails if there are only 2 windows.
Patch from Marcin Szamotulski, 2014 Dec 13.
Patch to recover from X server restart: hint on Issue 203 (2014 Nov 21 18:44)
Insert a block with virtualedit set does not work correctly.
Patch by James McCoy, 2014 Dec 10.
MS-Windows: When editing a file with a leading space, writing it uses the
wrong name. (Aram, 2014 Nov 7) Vim 7.4.
Add LessCss support. (Jenoma / Alessandro Vioni, 2014 Nov 24)
Now with updated license, Nov 24.
Memory leak using :wviminfo. Issue 296. With Patch by Christian.
patch to remove FEAT_OSFILETYPE from fileio.c. (Christian, 2014 Nov 12)
Patch to fix unnecessary redraw of vertical separators.
(Thiago Padilha, 2015 Jan 5, second version)
Value returned by virtcol() changes depending on how lines wrap. This is
inconsistent with the documentation.
Patch to also support range for :argdo, :bufdo, etc.
(Marcin Szamotulski, 2014 Dec 7)
Asked for tests.
Ukrainian vimtutor. (Issue 288)
Regenerate the Unicode tables in mbyte.c.
@ -108,19 +92,30 @@ Diff from ZyX, 2014 Dec 6.
Patch to fix relative numbers. (Christian Brabandt, 2014 Nov 17)
Update Nov 26.
Patch to improve config.vim syntax. Issue 305. Maintainer last update was in
2008.
Patch to fix that getcurpos() returns a negative number, instead of MAXCOL.
(Hirohito Higashi, 2014 Dec 8)
Better greek spell checking. Issue 299.
Patch to fix wrong formatting if 'linebreak' is set. (Christian Brabandt, 2014
Nov 12)
Patch to avoid recognizing polkit as hog files. (Issue 292)
":0argedit foo" puts new argument in second place instead of first.
Patch from Ingo Karkat, 2014 Dec 19.
Patch 7.4.468 changed how CTRL-C is handled. It does not take care of mapping
CTRL-C in different modes. (Ingo Karkat, 2014 Dec 12)
Patch from Christian Brabandt, 2014 Dec 13.
Needs to be improved.
Patch for greek characters on MS-Windows console. (Yasuhiro Matsumoto, 2014
Dec 17)
Patch to support hex values for setting option value.
(Zyx, 2015 Nov 6)
@ -131,6 +126,16 @@ Update Nov 5.
MS-Windows: Crash opening very long file name starting with "\\".
(Christian Brock, 2012 Jun 29)
Patch for this from Marcin Szamotulski, 2014 Dec 28:
8 Make the # register writable, so that it can be restored after jumping
around in windows.
Using CTRL-L while popup menu is visible behaves like CTRL-P, which is wrong.
Patch by Yasuhiro Matsumoto, 2015 Jan 5.
Is this right? Comment from Amadeus Demarzi.
Another patch from Christian, Jan 6.
Comment from Hirohito Higashi, Jan 6.
Cursorline background color not mixed with character highlight.
Patch by Yasuhiro Matsumoto, 2014 Dec 3.
@ -143,9 +148,19 @@ ml_updatechunk() is slow when retrying for another encoding. (John Little,
Patch to add a different escape sequence for replace mode.
(Omar Sandoval, 2014 Nov 30)
Calling setreg() with an empty list doesn't work.
Patch by Yasuhiro Matsumoto, 2014 Dec 14.
Extended file attributes lost on write (backupcopy=no). Issue 306.
Window height computed incorrectly when Vim is minimized.
Patch to fix this. (Ingo Karkat, 2014 Dec 19)
Patch to allow values greater than 255 for ctermfg/ctermbg on Windows.
(Yasuhiro Matsumoto, 2014 Dec 5)
Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
When 'balloonexpr' returns a list the result has a trailing newline.
Just remove one trailing newline. (lcd, 2014 Oct 17)
@ -190,6 +205,10 @@ was already defined.
Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12)
Remark from Roland Eggner: does it cause crashes? (2014 Dec 12)
Updated patch by Roland Eggner, Dec 16
Updated patch from Charles, Dec 29.
Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
Patch for building a 32bit Vim with 64bit MingW compiler.
(Michael Soyka, 2014 Oct 15)
@ -200,6 +219,8 @@ Redo only remembers the last change. Could use "{count}g." to redo an older
change. How does the user know which change? At least have a way to list
them: ":repeats".
Patch for glob(), adding slash to normal files. (Ingo Karkat, 2014 Dec 22)
Using "." to repeat an Ex command puts that command in history. Probably
should not happen. If the command is the result of a mapping it's not put in
history either. (Jacob Niehus, 2014 Nov 2)
@ -233,6 +254,9 @@ Spell files use a latin single quote. Unicode also has another single quote:
New OpenOffice spell files support this with ICONV. But they are not
compatible with Vim spell files. The old files can no longer be downloaded.
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24)
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
More tests May 14. Update May 29. Update Aug 10.
@ -567,9 +591,6 @@ Patch to improve equivalence classes in regexp patterns.
Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)
But use Gnome instead of GTK?
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24)
Should be possible to enable/disable matchparen per window or buffer.
Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin
Szamotulski, 2012 Nov 8)
@ -5076,8 +5097,6 @@ Argument list:
Registers:
8 Don't display empty registers with ":display". (Etienne)
8 Make the # register writable, so that it can be restored after jumping
around in windows.
8 Add put command that overwrites existing text. Should also work for
blocks. Useful to move text around in a table. Works like using "R ^R r"
for every line.

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2014 Dec 06
" Last Change: 2015 Jan 07
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@ -1052,6 +1052,9 @@ au BufNewFile,BufRead *.ldif setf ldif
" Ld loader
au BufNewFile,BufRead *.ld setf ld
" Less
au BufNewFile,BufRead *.less setf less
" Lex
au BufNewFile,BufRead *.lex,*.l,*.lxx,*.l++ setf lex

20
runtime/ftplugin/less.vim Normal file
View File

@ -0,0 +1,20 @@
" Vim filetype plugin
" Language: less
" Maintainer: Alessandro Vioni <jenoma@gmail.com>
" URL: https://github.com/genoma/vim-less
" Last Change: 2014 November 24
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl cms< def< inc< inex< ofu< sua<"
setlocal formatoptions-=t formatoptions+=croql
setlocal comments=:// commentstring=//\ %s
setlocal omnifunc=csscomplete#CompleteCSS
setlocal suffixesadd=.less

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2014 Nov 12
" Last Change: 2014 Dec 29
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@ -159,10 +159,10 @@ func <SID>GetPage(...)
silent exec "r!/usr/bin/man ".s:GetCmdArg(sect, page)." | col -b"
" Remove blank lines from top and bottom.
while getline(1) =~ '^\s*$'
silent norm ggdd
silent keepj norm ggdd
endwhile
while getline('$') =~ '^\s*$'
silent norm Gdd
silent keepj norm Gdd
endwhile
1
setl ft=man nomod

View File

@ -1,7 +1,10 @@
" Vim filetype plugin file
" Language: matlab
" Maintainer: Jake Wasserman <jwasserman at gmail dot com>
" Last Changed: 2006 Jan 12
" Last Changed: 2014 Dec 30
" Contributors:
" Charles Campbell
if exists("b:did_ftplugin")
finish
@ -12,10 +15,11 @@ let s:save_cpo = &cpo
set cpo-=C
if exists("loaded_matchit")
let s:conditionalEnd = '\(([^()]*\)\@!\<end\>\([^()]*)\)\@!'
let b:match_words = '\<if\>\|\<while\>\|\<for\>\|\<switch\>:' .
\ s:conditionalEnd . ',\<if\>:\<elseif\>:\<else\>:' .
\ s:conditionalEnd
let s:conditionalEnd = '\%(([^()]*\)\@!\<end\>\%([^()]*)\)\@!'
let b:match_words=
\ '\<\%(if\|switch\|for\|while\)\>:\<\%(elseif\|case\|break\|continue\|else\|otherwise\)\>:'.s:conditionalEnd.','.
\ '\<function\>:\<return\>:\<endfunction\>'
unlet s:conditionalEnd
endif
setlocal suffixesadd=.m

13
runtime/indent/less.vim Normal file
View File

@ -0,0 +1,13 @@
" Vim indent file
" Language: less
" Maintainer: Alessandro Vioni <jenoma@gmail.com>
" URL: https://github.com/genoma/vim-less
" Last Change: 2014 November 24
if exists("b:did_indent")
finish
endif
runtime! indent/css.vim
" vim:set sw=2:

View File

@ -1,6 +1,6 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION
" Date: Jan 22, 2014
" Date: Nov 07, 2014
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
let g:loaded_netrwPlugin = "v152"
let g:loaded_netrwPlugin = "v153"
if v:version < 702
echohl WarningMsg
echo "***warning*** you need vim version 7.2 for this version of netrw"
@ -54,15 +54,15 @@ augroup END
" Network Browsing Reading Writing: {{{2
augroup Network
au!
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
try
au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
catch /^Vim\%((\a\+)\)\=:E216/
au SourcePre ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
try
au SourceCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
catch /^Vim\%((\a\+)\)\=:E216/
au SourcePre ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
endtry
augroup END
@ -81,18 +81,26 @@ com! -nargs=* -bar -bang -count=0 -complete=dir Vexplore call netrw#Explore(<cou
com! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>,0,6 ,<q-args>)
com! -nargs=* -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>)
com! -nargs=* -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>)
com! -nargs=* -bar -complete=dir Lexplore call netrw#Lexplore(<q-args>)
com! -nargs=* -bar -bang -count=0 -complete=dir Lexplore call netrw#Lexplore(<count>,<bang>0,<q-args>)
" Commands: NetrwSettings {{{2
com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
com! -bang NetrwClean call netrw#Clean(<bang>0)
" Maps:
if !exists("g:netrw_nogx") && maparg('gx','n') == ""
if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX
if !exists("g:netrw_nogx")
if maparg('gx','n') == ""
if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX
endif
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr>
endif
if maparg('gx','v') == ""
if !hasmapto('<Plug>NetrwBrowseXVis')
vmap <unique> gx <Plug>NetrwBrowseXVis
endif
vno <silent> <Plug>NetrwBrowseXVis :<c-u>call netrw#BrowseXVis()<cr>
endif
nno <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cfile>"),0)<cr>
endif
" ---------------------------------------------------------------------
@ -119,7 +127,7 @@ fun! s:LocalBrowse(dirname)
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)")
if a:dirname != '' && isdirectory(a:dirname)
sil! call netrw#LocalBrowseCheck(a:dirname)
if exists("w:netrw_bannercnt")
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
exe w:netrw_bannercnt
endif
endif
@ -128,7 +136,7 @@ fun! s:LocalBrowse(dirname)
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
sil! call netrw#LocalBrowseCheck(a:dirname)
if exists("w:netrw_bannercnt")
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
exe w:netrw_bannercnt
endif

View File

@ -2,7 +2,7 @@
" Language: Diff (context or unified)
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Translations by Jakson Alves de Aquino.
" Last Change: 2014 Nov 12
" Last Change: 2015 Jan 07
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@ -18,6 +18,9 @@ syn match diffIsA "^File .* is a .* while file .* is a .*"
syn match diffNoEOL "^\\ No newline at end of file .*"
syn match diffCommon "^Common subdirectories: .*"
" Disable the translations by setting diff_translations to zero.
if !exists("diff_translations") || diff_translations
" ca
syn match diffOnly "^Només a .*"
syn match diffIdentical "^Els fitxers .* i .* són idèntics$"
@ -320,6 +323,8 @@ syn match diffIsA "^檔案 .* 是.*而檔案 .* 是.*"
syn match diffNoEOL "^\\ 檔案末沒有 newline 字元"
syn match diffCommon "^.* 和 .* 有共同的副目錄$"
endif
syn match diffRemoved "^-.*"
syn match diffRemoved "^<.*"

View File

@ -2,7 +2,8 @@
" Language: HTML
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/html.vim
" Last Change: 2012 Oct 05
" Last Change: 2015 Jan 07
" included patch from David Felix
" Please check :help html.vim for some comments and a description of the options
@ -168,7 +169,7 @@ if main_syntax != 'java' || exists("java_javascript")
" JAVA SCRIPT
syn include @htmlJavaScript syntax/javascript.vim
unlet b:current_syntax
syn region javaScript start=+<script\_[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
syn region javaScript start=+<script\_[^>]*>+ keepend end=+</script\_[^>]*>+me=s-1 contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
syn region htmlScriptTag contained start=+<script+ end=+>+ fold contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent
HtmlHiLink htmlScriptTag htmlTag
@ -193,7 +194,7 @@ if main_syntax != 'java' || exists("java_vb")
" VB SCRIPT
syn include @htmlVbScript syntax/vb.vim
unlet b:current_syntax
syn region javaScript start=+<script \_[^>]*language *=\_[^>]*vbscript\_[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlVbScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
syn region javaScript start=+<script \_[^>]*language *=\_[^>]*vbscript\_[^>]*>+ keepend end=+</script\_[^>]*>+me=s-1 contains=@htmlVbScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
endif
syn cluster htmlJavaScript add=@htmlPreproc

79
runtime/syntax/less.vim Normal file
View File

@ -0,0 +1,79 @@
" Vim syntax file
" Language: less
" Maintainer: Alessandro Vioni <jenoma@gmail.com>
" URL: https://github.com/genoma/vim-less
" Last Change: 2014 November 24
if exists("b:current_syntax")
finish
endif
runtime! syntax/css.vim
runtime! after/syntax/css.vim
syn case ignore
syn cluster lessCssProperties contains=cssFontProp,cssFontDescriptorProp,cssColorProp,cssTextProp,cssBoxProp,cssGeneratedContentProp,cssPagingProp,cssUIProp,cssRenderProp,cssAuralProp,cssTableProp
syn cluster lessCssAttributes contains=css.*Attr,lessEndOfLineComment,lessComment,cssValue.*,cssColor,cssURL,lessDefault,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssRenderProp
syn region lessDefinition matchgroup=cssBraces start="{" end="}" contains=TOP
syn match lessProperty "\%([{};]\s*\|^\)\@<=\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:" contains=css.*Prop skipwhite nextgroup=lessCssAttribute contained containedin=lessDefinition
syn match lessProperty "^\s*\zs\s\%(\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=lessCssAttribute
syn match lessProperty "^\s*\zs\s\%(:\=[[:alnum:]-]\+\s*=\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=lessCssAttribute
syn match lessCssAttribute +\%("\%([^"]\|\\"\)*"\|'\%([^']\|\\'\)*'\|#{[^{}]*}\|[^{};]\)*+ contained contains=@lessCssAttributes,lessVariable,lessFunction,lessInterpolation
syn match lessDefault "!default\>" contained
" less variables and media queries
syn match lessVariable "@[[:alnum:]_-]\+" nextgroup=lessCssAttribute skipwhite
syn match lessMedia "@media" nextgroup=lessCssAttribute skipwhite
" Less functions
syn match lessFunction "\<\%(escape\|e\|unit\)\>(\@=" contained
syn match lessFunction "\<\%(ceil\|floor\|percentage\|round\|sqrt\|abs\|sin\|asin\|cos\|acos\|tan\|atan\|pi\|pow\|min\|max\)\>(\@=" contained
syn match lessFunction "\<\%(rgb\|rgba\|argb\|argb\|hsl\|hsla\|hsv\|hsva\)\>(\@=" contained
syn match lessFunction "\<\%(hue\|saturation\|lightness\|red\|green\|blue\|alpha\|luma\)\>(\@=" contained
syn match lessFunction "\<\%(saturate\|desaturate\|lighten\|darken\|fadein\|fadeout\|fade\|spin\|mix\|greyscale\|contrast\)\>(\@=" contained
syn match lessFunction "\<\%(multiply\|screen\|overlay\|softlight\|hardlight\|difference\|exclusion\|average\|negation\)\>(\@=" contained
" Less id class visualization
syn match lessIdChar "#[[:alnum:]_-]\@=" nextgroup=lessId,lessClassIdCall
syn match lessId "[[:alnum:]_-]\+" contained
syn match lessClassIdCall "[[:alnum:]_-]\+()" contained
syn match lessClassChar "\.[[:alnum:]_-]\@=" nextgroup=lessClass,lessClassCall
syn match lessClass "[[:alnum:]_-]\+" contained
syn match lessClassCall "[[:alnum:]_-]\+()" contained
syn match lessAmpersand "&" contains=lessIdChar,lessClassChar
syn region lessInclude start="@import" end=";\|$" contains=lessComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ
syn keyword lessTodo FIXME NOTE TODO OPTIMIZE XXX contained
syn region lessComment start="^\z(\s*\)//" end="^\%(\z1 \)\@!" contains=lessTodo,@Spell
syn region lessCssComment start="^\z(\s*\)/\*" end="^\%(\z1 \)\@!" contains=lessTodo,@Spell
syn match lessEndOfLineComment "//.*" contains=lessComment,lessTodo,@Spell
hi def link lessEndOfLineComment lessComment
hi def link lessCssComment lessComment
hi def link lessComment Comment
hi def link lessDefault cssImportant
hi def link lessVariable Identifier
hi def link lessFunction PreProc
hi def link lessTodo Todo
hi def link lessInclude Include
hi def link lessIdChar Special
hi def link lessClassChar Special
hi def link lessAmpersand Character
hi def link lessId Identifier
hi def link lessClass Type
hi def link lessCssAttribute PreProc
hi def link lessClassCall Type
hi def link lessClassIdCall Type
hi def link lessTagName cssTagName
hi def link lessDeprecated cssDeprecated
hi def link lessMedia cssMedia
let b:current_syntax = "less"
" vim:set sw=2:

View File

@ -1,7 +1,7 @@
" Language : Netrw Remote-Directory Listing Syntax
" Maintainer : Charles E. Campbell, Jr.
" Last change: Mar 07, 2014
" Version : 18
" Maintainer : Charles E. Campbell
" Last change: Oct 06, 2014
" Version : 19
" ---------------------------------------------------------------------
" Syntax Clearing: {{{1
@ -16,7 +16,7 @@ endif
syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
syn match netrwPlain "\(\S\+ \)*\S\+" contains=@NoSpell
syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell
syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
"syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
@ -24,7 +24,11 @@ syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassi
syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
else
syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
endif
syn match netrwTreeBarSpace " " contained
syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
@ -44,10 +48,11 @@ syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
syn match netrwComma "," contained
syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained
syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
syn match netrwQHTopic "-\a\+-" contained skipwhite
syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite
syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
syn match netrwLink "-->" contained skipwhite
" -----------------------------
" Special filetype highlighting {{{1
@ -95,6 +100,7 @@ if !exists("did_drchip_netrwlist_syntax")
hi default link netrwComma netrwComment
hi default link netrwHide netrwComment
hi default link netrwMarkFile TabLineSel
hi default link netrwLink Special
" special syntax highlighting (see :he g:netrw_special_syntax)
hi default link netrwBak NonText

View File

@ -3,12 +3,11 @@
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
" Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com>
" Tom Payne <tom@tompayne.org>
" Last Change: Wed Jul 09, 2014 10:29PM
" Last Change: Wed Dec 31, 2014 12:36AM
" Filenames: *.R *.r *.Rhistory *.Rt
"
" NOTE: The highlighting of R functions is defined in the
" r-plugin/functions.vim, which is part of vim-r-plugin2:
" http://www.vim.org/scripts/script.php?script_id=2628
"
" NOTE: The highlighting of R functions is defined in
" runtime files created by a filetype plugin, if installed.
"
" CONFIGURATION:
" syntax folding can be turned on by
@ -37,9 +36,9 @@ syn match rComment contains=@Spell,rCommentTodo "#.*"
syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|include\|docType\)"
syn match rOKeyword contained "@\(S3method\|TODO\|aliases\|alias\|assignee\|author\|callGraphDepth\|callGraph\)"
syn match rOKeyword contained "@\(callGraphPrimitives\|concept\|exportClass\|exportMethod\|exportPattern\|export\|formals\)"
syn match rOKeyword contained "@\(format\|importClassesFrom\|importFrom\|importMethodsFrom\|import\|keywords\)"
syn match rOKeyword contained "@\(format\|importClassesFrom\|importFrom\|importMethodsFrom\|import\|keywords\|useDynLib\)"
syn match rOKeyword contained "@\(method\|noRd\|note\|references\|seealso\|setClass\|slot\|source\|title\|usage\)"
syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritsParams\)"
syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritParams\)"
syn match rOComment contains=@Spell,rOKeyword "#'.*"
@ -79,12 +78,12 @@ syn keyword rRepeat for in repeat while
syn keyword rConstant T F LETTERS letters month.abb month.name pi
syn keyword rConstant R.version.string
syn keyword rNumber NA_integer_ NA_real_ NA_complex_ NA_character_
syn keyword rNumber NA_integer_ NA_real_ NA_complex_ NA_character_
" Constants
syn keyword rConstant NULL
syn keyword rBoolean FALSE TRUE
syn keyword rNumber NA Inf NaN
syn keyword rNumber NA Inf NaN
" integer
syn match rInteger "\<\d\+L"
@ -93,7 +92,7 @@ syn match rInteger "\<\d\+[Ee]+\=\d\+L"
" number with no fractional part or exponent
syn match rNumber "\<\d\+\>"
" hexadecimal number
" hexadecimal number
syn match rNumber "\<0x\([0-9]\|[a-f]\|[A-F]\)\+"
" floating point number with integer and fractional parts and optional exponent
@ -111,17 +110,19 @@ syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
syn match rAssign '='
syn match rOperator "&"
syn match rOperator '-'
syn match rOperator '\*'
syn match rOperator '+'
syn match rOperator '='
if &filetype != "rmd" && &filetype != "rrst"
syn match rOperator "[|!<>^~/:]"
else
syn match rOperator "[|!<>^~`/:]"
endif
syn match rOperator "%\{2}\|%\S\{-}%"
syn match rOperator '\([!><]\)\@<=='
syn match rOperator '=='
syn match rOpError '\*\{3}'
syn match rOpError '//'
syn match rOpError '&&&'
@ -129,8 +130,8 @@ syn match rOpError '|||'
syn match rOpError '<<'
syn match rOpError '>>'
syn match rArrow "<\{1,2}-"
syn match rArrow "->\{1,2}"
syn match rAssign "<\{1,2}-"
syn match rAssign "->\{1,2}"
" Special
syn match rDelimiter "[,;:]"
@ -151,9 +152,14 @@ syn match rBraceError "[)}]" contained
syn match rCurlyError "[)\]]" contained
syn match rParenError "[\]}]" contained
" Source list of R functions. The list is produced by the Vim-R-plugin
" http://www.vim.org/scripts/script.php?script_id=2628
runtime r-plugin/functions.vim
" Source list of R functions produced by a filetype plugin (if installed)
if has("nvim")
" Nvim-R
runtime R/functions.vim
else
" Vim-R-plugin
runtime r-plugin/functions.vim
endif
syn match rDollar display contained "\$"
syn match rDollar display contained "@"
@ -171,7 +177,7 @@ if &filetype == "rhelp"
endif
" Type
syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
" Name of object with spaces
if &filetype != "rmd" && &filetype != "rrst"
@ -179,13 +185,19 @@ if &filetype != "rmd" && &filetype != "rrst"
endif
if &filetype == "rhelp"
syn match rhPreProc "^#ifdef.*"
syn match rhPreProc "^#endif.*"
syn match rhPreProc "^#ifdef.*"
syn match rhPreProc "^#endif.*"
syn match rhSection "\\dontrun\>"
endif
if exists("r_syn_minlines")
exe "syn sync minlines=" . r_syn_minlines
else
syn sync minlines=40
endif
" Define the default highlighting.
hi def link rArrow Statement
hi def link rAssign Statement
hi def link rBoolean Boolean
hi def link rBraceError Error
hi def link rComment Comment
@ -204,7 +216,7 @@ hi def link rHelpIdent Identifier
hi def link rhPreProc PreProc
hi def link rhSection PreCondit
hi def link rInteger Number
hi def link rLstElmt Normal
hi def link rLstElmt Normal
hi def link rNameWSpace Normal
hi def link rNumber Number
hi def link rOperator Operator

View File

@ -0,0 +1,976 @@
===============================================================================
= Ласкаво простимо в уроки VIM =
===============================================================================
Vim дуже потужний редактор, що має багато команд. Всі команди неможливо
помістити в підручнику на зразок цього, але цих уроків достатньо, щоб
ви навчились з легкістю користуватись Vim як універсальним редактором.
УВАГА:
Уроки цього підручника вимагають зміни тексту. Зробіть копію файлу, щоб
практикуватись на ньому.
Важливо пам'ятати, що цей підручник має на меті навчання на практиці.
Це означає що ви маєте застосовувати команди щоб вивчити їх. Просто
прочитавши текст, ви забудете команди.
Кнопки на клавіатурі, будемо позначати квадратними дужками: [кнопка].
А зараз переконайтесь, що включена англійська розкладка і не затиснутий
Caps Lock, і натисніть кнопку j щоб переміститись до першого уроку.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 1.1: ПЕРЕМІЩЕННЯ КУРСОРА
** Щоб переміщати курсор використовуйте кнопки [h],[j],[k],[l],
як вказано на схемі:
^
[k]
<[h] [l]>
[j]
v
Таке розміщення спочатку може видатись трохи дивним. Як наприклад те, що
кнопка [l] переміщує курсор вправо. Але клавіші розміщені так, щоб
мінімізувати кількість рухів. Найчастіша дія яку користувач робить з
текстовим файлом - це читає його. А при читанні прокручують текст вниз.
Тому вниз прокручує [j] - вона знаходиться якраз під вказівним пальцем
правої руки.
Курсор можна переміщувати і класичним способом (курсорними клавішами), але
зручніше буде, якщо ви опануєте спосіб Vim. (Особливо якщо ви вже вмієте
набирати всліпу).
1. Попереміщуйте курсор по екрану, поки не призвичаїтесь.
2. Перемістіться до наступного уроку.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 1.2: Вихід з Vim
Увага! Перед тим як виконувати цей урок прочитайте його повністю.
1. Натисніть [ESC] (щоб впевнитись що ви в звичайному режимі).
2. Наберіть: :q! [ENTER].
Це завершує роботу, відкидаючи всі зміни які ви здійснили.
3. Коли ви побачите привітання терміналу введіть команду яку ви використали
щоб відкрити цей підручник. Скоріш за все це було: vim tutor.txt [ENTER]
4. Якщо ви запам'ятали кроки з 1 по 3, виконайте їх, і переходьте до
наступного уроку.
Зауваження: Команда :q! [ENTER] завершує роботу і відкидає всі зміни. Через
кілька уроків ви навчитесь зберігати зміни в файл.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 1.3:РЕДАГУВАННЯ ТЕКСТУ. ВИДАЛЕННЯ.
** Натисніть [x] щоб видалити символ під курсором. **
1. Перемістіть курсор до лінії нижче, яка позначена так: --->.
2. Щоб виправити помилки перемістіть курсор так, щоб він став над
символом який треба видалити.
3. Натисніть [x] щоб видалити непотрібний символ.
4. Повторіть кроки з другого по четвертий, поки речення не стане правильним.
---> Ккоровва перрестрибнуууууула ччерезз мііісяццць.
5. Тепер, коли речення правильне, можна перейти до уроку 1.4.
Зауваження: Протягом навчання не старайтесь запам'ятати все.
Вчіться практикою.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 1.4: РЕДАГУВАННЯ ТЕКСТУ. ВСТАВКА
** Натисніть [i] щоб вставити текст. **
1. Перемістіть курсор на перший рядок позначений: --->.
2. Перемістіть курсор на символ, ПІСЛЯ якого потрібно вставити текст.
3. Натисніть [i] і наберіть необхідні вставки.
4. Коли всі помилки виправлені натисніть [ESC] щоб повернутись в звичайний
режим.
---> З прав текст.
---> З цього рядка пропав деякий текст.
5. Коли призвичаїтесь вставляти текст - переходьте до уроку 1.5.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 1.5: РЕДАГУВАННЯ ТЕКСТУ. ДОДАВАННЯ.
** Натисніть [A] щоб додати текст. **
Увага! Тут і далі, коли мають наувазі клавішу з буквою в верхньому
регістрі, то це означає що її натискають з затиснутою [SHIFT].
1. Перемістіть курсор до першої лінії внизу позначеної --->.
Не має значення над яким символом знаходиться курсор.
2. Натисніть [A] і введіть необхідне доповнення.
3. Коли додавання завершене натисніть [ESC] щоб повернутись в
звичайний режим.
4. Перемістіть курсор до другої лінії позначеної ---> і повторіть
кроки 2 і 3 щоб виправити речення.
---> З цього рядка пропущ
З цього рядка пропущений текст.
---> З цього рядка також
З цього рядка також пропущений текст.
5. Після виконання вправ, переходьте до наступного уроку.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 1.6: РЕДАГУВАННЯ ФАЙЛУ
** Використайте :wq щоб зберегти файл і вийти.**
Увага! Перед виконанням уроку прочитайте його повністю.
1. Вийдіть з цього підручника як ви робили в уроці 1.2: :q![ENTER]
Або якщо ви маєте доступ до іншого терміналу виконуйте наступні
дії в ньому.
2. В терміналі наберіть команду: vim НазваФайлу [ENTER]
'vim' - команда для запуску редактора, НазваФайлу - файл який будемо
редагувати. Якщо ввести неіснуючий файл, то він створиться
3. Відредагуйте текст, як навчились у попередніх уроках.
4. Щоб зберегти зміни у файлі, і вийти з Vim наберіть: :wq [ENTER]
5. Якщо ви вийшли з підручника на першому кроці, то зайдіть в нього
знову і переходьте до підсумку.
6. Після прочитання і засвоєння попередніх кроків виконайте їх.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ПІДСУМОК УРОКУ 1
1. Курсор керується курсорними клавішами, або клавішами [h][j][k][l]
[h] (вліво) [j] (вниз) [k] (вверх) [l] (вправо)
2. Щоб запустити Vim з терміналу наберіть: vim Назва файлу [ENTER]
3. Щоб вийти з Vim наберіть: [ESC] :q! [ENTER] щоб відкинути всі зміни.
або наберіть: [ESC] :wq [ENTER] щоб зберегти всі зміни.
4. Щоб видалити символ під курсором натисніть [x].
5. Щоб вставити, чи доповнити текст наберіть:
[i] текст що вставляєтсья [ESC] вставиться перед курсором
[A] текст до додається [ESC] додасть текст до рядка
Зауваження: Натискання [ESC] перенесе вас в звичайний режим, чи відмінить
не до кінця введену команду.
Тепер переходьте до уроку 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 2.1: КОМАНДИ ВИДАЛЕННЯ
** Введіть dw щоб видалити слово. **
1. Натисніть [ESC], щоб переконатись що ви в звичайному режимі.
2. Перемістіть курсор до лінії нижче позначеної --->.
3. Перемістіть курсор до початку слова що має бути видалене.
4. Введіть dw щоб слово пропало.
Зауваження: Буква d з'явиться в останньому рядку екрану, якщо ви її натиснули.
Vim чекає введення наступного символа. Якщо з'явилось щось інше
значить ви щось не так ввели. Натисніть [ESC] і почніть спочатку.
---> Є деякі слова весело, які не потрібні папір в цьому реченні.
5. Повторюйте кроки 3 і 4 поки речення не стане правильне, а тоді переходьте
до уроку 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 2.2: БІЛЬШЕ КОМАНД ВИДАЛЕННЯ
** Наберіть d$ щоб видалити символи від курсора до кінця рядка. **
1. Натисніть [ESC] щоб переконатись що ви в звичайному режимі.
2. Перемістіть курсор до лінії нижче, що позначена --->.
3. Перемістіть курсор до кінця правильного рядка (ПІСЛЯ першої крапки).
4. Введіть d$ щоб видалити все до кінця рядка.
---> Хтось надрукував кінець цього рядка двічі. кінець цього рядка двічі.
5. Перейдіть до уроку 2.3 щоб розібратись в цьому детальніше.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 2.3:ОПЕРАТОРИ І ПЕРЕМІЩЕННЯ
Багато команд що змінюють текст утворені з оператора і переміщення.
Формат команди видалення з оператором d подано нижче:
d переміщення
Де:
d - оператор видалення.
переміщення - з чим працює оператор (описано нижче).
Короткий список переміщень:
w - до початку наступного слова, НЕ ВКЛЮЧАЮЧИ його перший символ.
e - до кінця поточного слова, ВКЛЮЧАЮЧИ останній символ.
$ - до кінця рядка, ВКЛЮЧАЮЧИ останній символ.
Тому введення de видалить символи від курсора, до кінця слова.
Зауваження: Натискання тільки переміщення в звичайному режимі відповідно
переміщує курсор.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 2.4: ВИКОРИСТАННЯ ЛІЧИЛЬНИКА ДЛЯ ПЕРЕМІЩЕННЯ
** Введення числа перед переміщенням повторює його стільки раз. **
1. Перемістіть курсор до початку рядка позначеного --->
2. Введіть 2w щоб перемістити курсор на два слова вперед.
3. Введіть 3e щоб перемістити курсор в кінець третього слова.
4. Введіть 0 (нуль) щоб переміститись на початок рядка.
5. Повторіть кроки 2 і 3 з різними числами.
---> А це просто рядок зі словами, серед яких можна рухати курсором.
6. Переходьте до уроку 2.5.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 2.5: БАГАТОРАЗОВЕ ВИДАЛЕННЯ
** Введення числа з оператором повторює його стільки ж разів. **
В комбінації з оператором видалення, і переміщення з лічильника можна
видаляти потрібне число елементів.
Для цього введіть
d число переміщення
1. Перемістіться до першого слова в ВЕРХНЬОМУ РЕГІСТРІ в рядку
позначеному --->.
2. Введіть d2w щоб видалити два слова.
3. Повторіть кроки 1 і 2 з різними числами, щоб видалити все зайве.
---> цей ABC DE рядок FGHI JK LMN OP слів Q RS TUV почищений.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 2.6: ОПЕРАЦІЇ З РЯДКАМИ
** Введіть dd щоб видалити весь рядок. **
Через те, що видалення всього рядка є доволі частою дією розробники Vi
вирішили що для цієї операції потрібна проста команда, як dd.
1. Перемістіть курсор до другого рядка в вірші нижче.
2. Введіть dd щоб видалити рядок.
3. Потім перемістіться до четвертого рядка.
4. Введіть 2dd щоб видалити два рядки.
---> 1) Троянди червоні,
---> 2) Багнюка весела,
---> 3) Волошки голубі,
---> 4) В мене є машина,
---> 5) Годинник каже час,
---> 6) Цукерки солодкі,
---> 7) Дарую тобі.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 2.7: ВІДКИНУТИ ЗМІНИ
** Натисніть u щоб скасувати останні команди, U щоб виправити ввесь рядок. **
1. Перемістіть курсор до рядка нижче позначеного ---> на місце першої помилки.
2. Натисніть x щоб видалити непотрібний символ.
3. Потім натисніть u щоб відмінити виправлення.
4. Цього разу виправте всі помилки в рядку використовуючи команду x .
5. Після цього введіть U, і відкиньте всі зміни в цілому рядку.
6. Натисніть u кілька разів, щоб відмінити U і попередні команди.
7. Тепер натисніть CTRL-R кілька разів, щоб повторити відмінені команди
(відмінити відміну).
---> Вииправте помилки наа цьоому рядку і вііідмініть їх.
8. Тепер можна переходити до підсумків другого уроку.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ПІДСУМОК УРОКУ 2
1. Щоб видалити все від курсора аж до початку наступного слова введіть: dw
2. Щоб видалити від курсора до кінця рядка: d$
3. Щоб видалити увесь рядок: dd
4. Щоб повторити переміщення, поставте перед ним число повторів: 2w
5. Формат команди зміни:
оператор [число] переміщення
де:
оператор - що робити, як наприклад d для видалення
[число] - кількість повторів
переміщення - куди переміститись перед виконанням оператора, як
як наприклад w (слово), $ (кінець рядка), і т.і.
6. Щоб переміститись до початку рядка використовуйте нуль: 0
7. Щоб відмінити попередню дію введіть: u (u в нижньому регістрі)
Щоб відмінити всі зміни рядка введіть: U (U в верхньому регістрі)
Щоб скасувати відміну натисніть: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 3.1: КОМАНДА PUT
** Введіть p щоб вставити перед тим видалений текст після курсору. **
1. Перемістіть курсор до першої ---> лінії внизу.
2. Введіть dd щоб видалити рядок і зберегти його в регістрі Vim.
3. Перемістіть курсор до рядка в), НАД тим місцем де має бути видалений рядок.
4. Натисніть p щоб вставити рядок під курсором.
5. Повторіть кроки від 2 до 4 щоб вставити всі рядки в правильному порядку.
---> г) всіх до кузні іззива.
---> б) а в коваля серце тепле,
---> в) а він клепче та й співа,
---> а) А в тій кузні коваль клепле,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 3.2: Команда заміни
** Наберіть rx щоб замінити символ під курсором на x . **
1. Перемістіть курсор до першого рядка нижче, позначеного --->.
2. Помістіть курсор над першою помилкою.
3. Наберіть r а потім символ який має стояти там.
4. Повторіть кроки з 2 по 3 поки перший рядок не стане еквівалентним другому.
---> Коли ця лігія набираламт. хтось наьтснкв геправмльні унопкм!
---> Коли ця лінія набиралась, хтось натиснув неправильні кнопки!
5. Зараз переходьте до уроку 3.3.
Примітка: Ви маєте вчитись діями, а не простим заучуванням, пам'ятаєте?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 3.3: ОПЕРАТОР ЗАМІНИ
** Щоб зробити заміну до кінця слова введіть ce . **
1. Перемістіть курсор до першого рядка позначеного --->.
2. Помістіть курсор над у в слові рукра.
3. Введіть ce і правильне закінчення слова (ядок в цьому випадку).
4. Натисніть [ESC] і переходьте до наступного символа, який потрібно замінити.
5. Повторюйте кроки 3 і 4 поки перше речення не стане таким самим як і друге.
---> Цей рукра має кілька слів що потретамув заміни за допоцкщшг оператора.
---> Цей рядок має кілька слів що потребують заміни за допомогою оператора.
Зауважте що ce видаляє слово, і поміщає вас в режим вставки.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 3.4: БІЛЬШЕ ЗМІН З c
** Оператор заміни використовується з тими ж переміщеннями що і видалення. **
1. Оператор заміни працює в такий же спосіб що і видалення. Формат:
c [число] переміщення
2. Переміщення ті ж самі, такі як w (слово) і $ (кінець рядка).
3. Перемістіться до першого рядка позначеного --->.
4. Перемістіть курсор до першої помилки.
5. Наберіть c$ і решту рядка, щоб він став таким як другий і натисніть [ESC].
---> Кінець цього рядка потребує якихось дій щоб стати таким як кінець другого.
---> Кінець цього рядка можна виправити за допомогою команди c$.
Примітка: Можна використовувати кнопку Backspace щоб виправляти опечатки при
наборі.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ПІДСУМОК УРОКУ 3
1. Щоб вставити текст який був видалений наберіть p . Це вставляє
видалений текст ПІСЛЯ курсора (якщо був видалений рядок, вставка
продовжиться з рядка під курсором).
2. Щоб замінити символ під курсором наберіть r і необхідний символ.
3. Оператор заміни дозволяє робити заміну тексту від курсору, до потрібного
переміщення. Наприклад щоб замінити все від курсора до кінця слова
вводять ce . Щоб замінити закінчення рядка тиснуть c$ .
4. Формат заміни:
c [число] переміщення
Почнемо наступний урок.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 4.1: ПОЗИЦІЯ КУРСОРА І СТАТУС ФАЙЛУ
** Введіть CTRL-G щоб побачити вашу позицію в файлі, і його статус.
Введіть G щоб переміститись на потрібний рядок файлу. **
ПРИМІТКА: Прочитайте увесь урок перед виконанням будь-яких кроків!!
1. Затисніть кнопку Ctrl і натисніть g . Це називається CTRL-G.
Внизу з'явиться повідомлення з назвою файлу, і позицією в файлі.
Запам'ятайте номер рядка для кроку 3.
ПРИМІТКА: Ви бачите позицію курсора в нижньому правому кутку екрану.
Це трапляється коли включена опція 'ruler' (читайте :help 'ruler' )
2. Натисніть G щоб переміститись до кінця файлу.
Наберіть gg щоб переміститись до початку файлу.
3. Наберіть номер рядка де ви були а потім G. Це перенесе вас до потрібного
рядка.
4. Якщо ви запам'ятали три попередні кроки, то виконуйте.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 4.2: КОМАНДА ПОШУКУ
** Введіть / (слеш) і фразу, щоб шукати її в тексті. **
1. В звичайному режимі введіть символ / . Зауважте що він і курсор
з'являються в низу екрану, як і з командою : .
2. Тепер введіть 'очепятка' <ENTER>. Це буде словом яке ви шукатимете.
3. Щоб здійснити пошук цієї фрази ще раз введіть n .
Щоб шукати в протилежному напрямку введіть N .
4. Щоб шукати фразу в зворотньому напрямку використайте ? замість / .
5. Щоб переміститись назад до того місця звідки прийшли натисніть CTRL-O.
Повторіть щоб повернутись ще далі. (Це як кнопка назад в браузері)
CTRL-I переміщує вперед.
---> "очепятка" не є способом написати опечатка; очепятка це опечатка.
Примітка: Коли пошук досягає кінця файлу він продовжує з початку, хіба що
опція 'wrapscan' була виключена.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 4.3: ПОШУК ПАРНИХ ДУЖОК
** Введіть % щоб знайти парну ),], чи } . **
1. Помістіть курсор над будь-якою (, [, чи { в рядку нижче позначеному --->.
2. Тепер введіть символ % .
3. Курсор переміститься до відповідної дужки.
4. Введіть % щоб перемістити курсор до іншої парної дужки.
5. Спробуйте з іншими дужками, і подивіться що вийде.
---> Це ( тестовий рядок ( з такими [ такими ] і такими { дужками } в ньому. ))
Примітка: Це корисно при відлагоджуванні програми з неправильними дужками.
І взагалі в кожному тексті дужки мають стояти правильно!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 4.4: КОМАНДА ЗАМІНИ
** Наберіть :s/старе/нове/g щоб замінити 'старе' на 'нове'. **
1. Перемістіть курсор до лінії нижче позначеної --->.
2. Введіть :s/(біп)/блять [ENTER] . Зауважте що ця команда змінює тільки перше
входження (біп) в рядку.
3. Потім наберіть :s/(біп)/блять/g . Додавання g вказує що заміни
робляться у всьому рядку глобально.
---> люди не лю(біп), коли в слові "лю(біп)" "(біп)" заміняють на "(бiп)".
4. Щоб замінити кожне входження послідовності символів між двома рядками
наберіть :#,#s/старе/нове/g де #,# діапазон рядків в яких робиться
заміна.
Введіть :%s/старе/нове/g щоб змінити кожне входження у цілому файлі.
Введіть :%s/старе/нове/gc щоб замінити, кожне входження у файлі з
підтвердженням кожної заміни.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ПІДСУМОК УРОКУ 4
1. CTRL-G виводить вашу позицію в файлі і назву файлу.
G переміщує в кінець файлу.
число G переміщує до рядка з вказаним номером.
gg переміщує до першого рядка.
2. Ввід / і послідовності символів шукає послідовність ПІСЛЯ курсора.
Ввід ? і послідовності символів шукає послідовність ПЕРЕД курсором.
Після пошуку введіть n щоб знайти наступне входження в тому ж напрямку
або N щоб шукати в протилежному напрямку.
CTRL-O відносить вас до старішої позиції, CTRL-I до новішої позиції.
3. Ввід % коли курсор знаходиться над дужкою (,),[,],{, чи } переносить
курсор до протилежної дужки.
4. Щоб замінити перше входження старого слова на нове :s/старе/нове
Щоб замінити всі старі слова рядка на нові :s/старе/нове/g
Щоб замінити фрази між двома рядками :#,#s/старе/нове/g
Щоб замінити всі входження в файлі :%s/старе/нове/g
Щоб щоразу підтверджувати заміну додайте 'c' :%s/старе/нове/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 5.1: ЯК ВИКОНАТИ ЗОВНІШНЮ КОМАНДУ
** Введіть :! і зовнішню команду, щоб виконати ту команду. **
1. Введіть відому команду : щоб встановити курсор в низу екрану.
Це дозволяє вводити команди командного рядка.
2. Тепер введіть ! (символ знаку оклику) . Це дозволить вам виконати
будь-яку зовнішню команду.
3. Як приклад введіть :!ls [ENTER]. Це покаже список файлів каталогу, так
так ніби ви знаходитесь в оболонці терміналу. Або використайте :!dir
якщо ви раптом знаходитесь в Windows.
Примітка: Можна запускати будь-яку зовнішню команду таким способом, навіть з
аргументами.
Примітка: Всі команди що починаються з : мають закінчуватись натисканням
[ENTER]. Більше на цьому не наголошуватиметься.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 5.2: ЩЕ ПРО ЗАПИС ФАЙЛІВ
** Щоб зберегти змінений текст, введіть :w НАЗВААЙЛУ **
1. Введіть :!dir чи :!ls щоб переглянути вміст вашої директорії.
Вам вже казали що після цього тиснуть [ENTER].
2. Виберіть ім'я файлу яке ще не використовується, наприклад TEST.
(Взагалі то це не обов'язково, якщо вміст обраного файлу не
є цінним)
3. Тепер введіть: :w TEST (де TEST це назва яку ви обрали.)
4. Це зберігає увесь файл (підручник Vim ) під ім'ям TEST.
Щоб перевірити знову наберіть :!ls щоб побачити зміни в каталозі.
Примітка: Якщо ви вийдете з Vim і запустите його знову командою vim TEST,
файл що ви відкриєте буде точною копією цього, коли ви його зберегли.
5. Зараз видаліть файл ввівши (Unix): :!rm TEST
чи (MS-DOS): :!del TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 5.3: ВИБІР ТЕКСТУ ДЛЯ ЗАПИСУ
** Щоб зберегти частину файлу, наберіть v переміщення :w НАЗВААЙЛУ **
1. Перемістіть курсор до цього рядка.
2. Натисніть v і перемістіть курсор на п'ять пунктів нижче. Зауважте, що
текст виділяється.
3. Натисніть символ : . Внизу екрану з'являються символи :'<,'> .
4. Введіть w TEST , де TEST назва файлу що ще не використовується.
Переконайтесь що ви бачите :'<,'>w TEST перед тим як натиснути [ENTER].
5. Vim запише вибрані рядки в файл TEST. Використайте :!dir чи !ls
щоб побачити це. Поки що не видаляйте його! Ми використаємо TEST в
наступному уроці.
Зауваження: Натискання v починає режим візуального виділення. Ви можете
переміщувати курсор щоб змінити розмір вибраної частини.
Потім можна використати оператор щоб зробити щось з текстом.
Наприклад d видалить текст.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 5.4: ОТРИМАННЯ І ЗЛИТТЯ ФАЙЛІВ
** Щоб вставити вміст файлу введіть :r НАЗВААЙЛУ **
1. Помістіть курсор десь над цим рядком.
Зауваження: Після виконання кроку 2 ви побачите текст з уроку 5.3. Тоді
перемістіться вниз, щоб побачити вміст цього уроку знову.
2. Тоді отримайте вміст вашого файлу TEST використавши команду :r TEST ,
де TEST назва файлу що ви використали.
Файл що ви отримуєте поміщується під рядком курсора.
3. Щоб перевірити що файл вставлено, прокрутіть текст назад, і переконаєтесь
що тепер є дві копії урок 5.3, the original and the file version.
Примітка: Також ви можете вставляти вивід зовнішньої програми. Наприклад
:r !ls читає вивід команди ls і вставляє його під курсором.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Підсумок 5 уроку
1. :!команда виконує зовнішню команду.
2. :w НАЗВААЙЛУ записує поточний файл на диск під назвою НАЗВААЙЛУ.
3. v переміщення :w НАЗВААЙЛУ зберігає візуально виділену частину тексту
в файл НАЗВААЙЛУ.
4. :r НАЗВААЙЛУ отримує з диску файл НАЗВААЙЛУ і вставляє його під
курсором.
5. :r !ls читає вивід команди ls і вставляє її під поточною позицією курсора
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 6.1: КОМАНДА ВСТАВКИ
** Введіть o щоб вставити новий рядок під курсором. **
1. Перемістіть курсор на рядок нижче, позначений --->.
2. Натисніть o щоб вставити новий рядок ПІД курсором та перейти в
режим вставки.
3. Тепер введіть текст і натисніть [ESC] щоб вийти з режиму вставки.
---> Після натискання o курсор ставиться на наступний рядок в режимі вставки.
4. Щоб вставити рядок НАД ABOVE курсором пишуть O в верхньому регістрі,
замість o. Спробуйте на рядку нижче.
---> Щоб вставити рядок над цим введіть O .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 6.2: КОМАНДА ДОПИСУВАННЯ
** Натисніть a щоб вставити текст після курсору. **
1. Перемістіть курсор до початку рядка внизу позначеного --->.
2. Тисніть e поки курсор не буде в кінці ря .
3. Натисніть a (маленьке) щоб додати текст ПІСЛЯ курсору.
4. Допишіть слова як рядок внизу. Натисніть [ESC] щоб вийти з режиму
вставки.
5. Використайте e щоб переміститись до наступного неповного слова та
to move to the next incomplete word and repeat steps 3 and 4.
---> Цей ря дозволить вам попрактикува в дописува тексту до рядка.
---> Цей рядок дозволить вам попрактикуватись в дописуванні тексту до рядка.
Примітка: a, i і A переходять в один і той же режим вставки, єдиною різницею
є тільки те, де вставляються символи.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 6.3: ІНШИЙ СПОСІБ ЗАМІНИ
** Введіть велику R щоб замінити більш ніж один символ. **
1. Перемістіть курсор до першого рядка внизу позначеного --->.
Перемістіть курсор до першого xxx .
2. Тепер натисніть R і введіть номер під ним з другого рядка, так що він
замінює xxx .
3. Натисніть [ESC] щоб покинути режим заміни. Зауважте, що решта рядка
залишається незмінною.
4. Повторіть кроки від 1 до 3 щоб замінити всі xxx на числа з другого рядка.
---> Додавання 123 до xxx дає xxx.
---> Додавання 123 до 456 дає 579.
Зауваження: Режим заміни подібний до режиму вставки, тільки кожен введений
символ видаляє символ який стояв на його місці.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 6.4: КОПІЮВАННЯ І ВСТАВКА
** Використайте оператор y щоб копіювати текст і p щоб його вставити **
1. Перейдіть до рядка нижче позначеного ---> і покладіть курсор після "а)".
2. Перейдіть в візуальний режим за допомогою клавіші v і перемістіть курсор
якраз перед словом "один".
3. Введіть y щоб копіювати (yank) виділений текст.
4. Перемістіть курсор до кінця наступного рядка: j$
5. Натисніть p щоб вставити (put) текст. Тоді введіть : два [ESC] .
6. так само додайте третій рядочок.
---> а) це рядок номер один
б)
Зауваження: також можна використовувати y як оператор;
yw копіює одне слово.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 6.5: ВСТАНОВЛЕННЯ ОПЦІЙ
** Встановити опцію так що пошук чи заміна буде ігнорувати регістр **
1. Знайдіть слово 'ігнорувати' ввівши : /ігнорувати
Повторіть кілька разів натискаючи n .
2. Встановіть опцію ігнорування регістру 'ic' (Ignore case) ввівши: :set ic
3. Тепер пошукайте 'ігнорувати' знову ввівши n
Зауважте що Ігнорувати та ІГНОРУВАТИ тепер також знаходяться.
4. Ввімкніть 'hlsearch' (підсвітку пошуку) і 'incsearch' (інтерактивність)
командою :set hls is .
5. Тепер пошукайте щось знову і зауважте зміни: /ігнорувати [ENTER]
6. Щоб вимкнути ігнорування регістру напишіть: :set noic
Примітка: Щоб вимкнути підсвітку співпадінь введіть: :nohlsearch
Примітка: Якщо ви хочете не брати до уваги регістр тільки під час одного пошуку
використайте ключ \c. Наприклад: /ігнорувати\c [ENTER]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ПІДСУМОК УРОКУ 6
1. Введіть о щоб додати рядок ПІД курсором і почати режим вставки.
Введіть O щоб додати рядок НАД курсором.
2. Введіть a щоб вставити текст ПІСЛЯ курсора.
Введіть A щоб додати текст до рядка.
3. Переміщення e переміщує нас до кінця слова.
4. Оператор y копіює текст, p вставляє його.
5. Введення R переносить нас в режим заміни до натискання [ESC].
6. Набір ":set xxx" встановлює опцію "xxx". Деякі опції:
'ic' 'ignorecase' ігнорувати верхній/нижній регістр при пошуку
'is' 'incsearch' показувати співпадіння пошуку під час введення
фрази
'hls' 'hlsearch' пісвічувати всі співпадіння
Можна одночасно використовувати і коротку і довгу форму запису опції.
7. Використайте префікс "no" щоб вимкнути опцію: :set noic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 7.1: ОТРИМАННЯ ДОПОМОГИ
** Використання вбудованої довідкової системи **
Vim має всеосяжну систему довідки. Щоб ознайомитись з нею спробуйте один з
таких способів:
- натисніть кнопку [HELP] (якщо така є)
- натисніть [F1]
- наберіть :help
Прочитайте текст в вікні допомоги, щоб вияснити як вона працює.
Натисніть CTRL-W двічі щоб змінити вікно
Наберіть :q щоб закрити вікно довідки.
Можна знайти довідку майже на будь-яку тему додаючи аргумент після команди
":help" . Спробуйте одну з наступних (не забувайте натискати [ENTER]):
:help w
:help c_CTRL-D
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 7.2: СТВОРЕННЯ СКРИПТА АВТОЗАПУСКУ
** Ввімкнення додаткових функцій Vim **
Vim має набагато більше функцій ніж Vi, але більшість з них відключені за
замовчуванням. Щоб почати використання додаткових функцій потрібно створити
файл "vimrc".
1. Почніть редагування файлу "vimrc" . Це залежить від вашої системи:
:e ~/.vimrc для Unix
:e $VIM/_vimrc для MS-Windows
2. Тепер прочитайте приклад вмісту "vimrc" :
:r $VIMRUNTIME/vimrc_example.vim
3. Збережіть файл:
:w
Наступного разу коли ви запустите Vim він буде використовувати підсвітку
синтаксису. Можна додати всі ваші улюблені налаштування в цей файл. Для більш
детальної інформації введіть :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Урок 7.3: АВТОДОПОВНЕННЯ
** Автодоповнення за допомогою CTRL-D і [TAB] **
1. Переконайтесь що в Vim не включена зворотня сумісність: :set nocp
2. Подивіться що за файли існують в каталозі: :!ls чи :!dir
3. Введіть початок команди: :e
4. Натисніть CTRL-D і Vim покаже список команд що починаються з "e".
5. Натисніть [TAB] і Vim доповнить команду до ":edit".
6. Тепер додайте пропуск і початок існуючого імені файлу: :edit FIL
7. Натисніть [TAB]. Vim доповнить ім'я (якщо воно унікальне).
Зауваження: Доповнення працює для багатьох команд. Просто натискайте CTRL-D і
[TAB]. Це особливо корисно для команди :help .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ПІДСУМОК УРОКУ 7
1. Введіть :help або натисніть [F1] щоб відкрити вікно довідки.
2. Введіть :help тема щоб знайти довідку про тему .
3. Введіть CTRL-W CTRL-W щоб змінити вікно.
4. Наберіть :q щоб закрити вікно
5. Створіть скрипт vimrc щоб змінювати ваші налаштування при запуску.
6. При наборі команди що починається з двокрапки : натисніть CTRL-D
щоб побачити можливі доповнення. Натисніть [TAB] щоб побачити одне з
доповнень.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Це завершує уроки Vim . Вони були націлені щоб дати вам короткий вступ в
редактор Vim, достатній для того щоб використовувати редактор комфортно.
Ці уроки зовсім далеко від повних, бо Vim має набагато більше команд. Можна
прочитати інструкцію користувача : ":help user-manual".
Для подальшого читання і вивчення рекомендується така книжка:
Vim - Vi Improved - by Steve Oualline
Publisher: New Riders
Особливо корисна для початківців.
Там багато прикладів і ілюстрацій.
Дивіться http://iccf-holland.org/click5.html
Ці уроки були написані Майклом С. Пірсом та Робертом Уаром.
Модифіковано для Vim Бремом Муленаром.
Переклад на українську Буник Т.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~