mirror of
https://github.com/zoriya/vim.git
synced 2025-12-12 02:06:18 +00:00
Compare commits
160 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2aeaf3fc01 | ||
|
|
26af85d97b | ||
|
|
eeac677886 | ||
|
|
b13501f7da | ||
|
|
d7d3cbedb3 | ||
|
|
613fe7ad2b | ||
|
|
6ed8069c79 | ||
|
|
816e7660e1 | ||
|
|
b7a8dfeb49 | ||
|
|
e173fd0972 | ||
|
|
61a6605ea1 | ||
|
|
9f1f49b839 | ||
|
|
5a1feb8091 | ||
|
|
825680f5f4 | ||
|
|
8f84c3a866 | ||
|
|
5f7e7bdcf8 | ||
|
|
e906ae85b2 | ||
|
|
58556cd0e5 | ||
|
|
e825d8b0a4 | ||
|
|
cdb7e1b7f9 | ||
|
|
04f62f881c | ||
|
|
a8788f4d0b | ||
|
|
bf92e3a371 | ||
|
|
7f93703149 | ||
|
|
a7df8c70c8 | ||
|
|
80dd3f9d41 | ||
|
|
4fc63505d3 | ||
|
|
8c0095c59a | ||
|
|
8008b6318d | ||
|
|
96ca27a0ee | ||
|
|
60d0e97497 | ||
|
|
4d2ba822fd | ||
|
|
938783d0ab | ||
|
|
e45deb7997 | ||
|
|
9b50bba643 | ||
|
|
c9041079a1 | ||
|
|
90305c66a8 | ||
|
|
6a77d2667e | ||
|
|
c0aa482a5a | ||
|
|
cb8bbe9bf3 | ||
|
|
26e8558e74 | ||
|
|
c4da113ef9 | ||
|
|
a92522fbf3 | ||
|
|
0daf843b4c | ||
|
|
1b0675caec | ||
|
|
74675a666b | ||
|
|
85dad2c815 | ||
|
|
8603356bf4 | ||
|
|
8327d1df17 | ||
|
|
292eff0c5a | ||
|
|
f1d13478e3 | ||
|
|
5a15b6aa0a | ||
|
|
cae24be4a8 | ||
|
|
163095f088 | ||
|
|
faf29d7f91 | ||
|
|
c577d813b7 | ||
|
|
11e79bb04e | ||
|
|
0ea5070d79 | ||
|
|
710b4a1646 | ||
|
|
c4f833808a | ||
|
|
8858498516 | ||
|
|
cce1cf12eb | ||
|
|
e5ae108ab8 | ||
|
|
a34293ae0a | ||
|
|
e4f25e4a8d | ||
|
|
da5116da45 | ||
|
|
a83fe75ca7 | ||
|
|
c2226845eb | ||
|
|
a693d0584b | ||
|
|
9c4fefffb6 | ||
|
|
86f100dc09 | ||
|
|
9f5f7bf4d5 | ||
|
|
e6bf655bc4 | ||
|
|
28b238225a | ||
|
|
2e147caa14 | ||
|
|
0b2eef24bc | ||
|
|
18d90b95c4 | ||
|
|
07ecfa64a1 | ||
|
|
41cc038ff8 | ||
|
|
8eeeba8c02 | ||
|
|
1814183b86 | ||
|
|
182a17b1e8 | ||
|
|
774e5a9673 | ||
|
|
5d7be4f0fa | ||
|
|
ea20de8146 | ||
|
|
cc0750dc6e | ||
|
|
4eb6531b03 | ||
|
|
1e8e14552e | ||
|
|
24a9e348aa | ||
|
|
a1bd86e0f2 | ||
|
|
53564f7c1a | ||
|
|
5fe691240b | ||
|
|
090209bfbd | ||
|
|
6d006f9e95 | ||
|
|
f8be461d02 | ||
|
|
4670490673 | ||
|
|
a529ce068b | ||
|
|
a1fed064d1 | ||
|
|
4d785895d1 | ||
|
|
d2c061d24c | ||
|
|
6a8958db25 | ||
|
|
6f9a476b2f | ||
|
|
d6abcd154c | ||
|
|
663bb23316 | ||
|
|
c768a208ca | ||
|
|
383aa84c0d | ||
|
|
157069b04e | ||
|
|
868831f122 | ||
|
|
9049298f8d | ||
|
|
fadacf01d0 | ||
|
|
06f1ed2f78 | ||
|
|
0946326580 | ||
|
|
1ef9bbe215 | ||
|
|
5b1affefd0 | ||
|
|
fbd0b0af68 | ||
|
|
8cf91286ca | ||
|
|
3ec574f2b5 | ||
|
|
2102035488 | ||
|
|
83064068ea | ||
|
|
9a48961d8b | ||
|
|
d7383881c8 | ||
|
|
21b34b63b3 | ||
|
|
56f2db562d | ||
|
|
3a429efb62 | ||
|
|
875feea6ce | ||
|
|
60964f6874 | ||
|
|
1c13c0fe3e | ||
|
|
fa4161cb0c | ||
|
|
f84b122a99 | ||
|
|
6b1da3312e | ||
|
|
f085f4266e | ||
|
|
add8dce38d | ||
|
|
e21d69eec1 | ||
|
|
206155280d | ||
|
|
6c95fbc9ae | ||
|
|
966e58e413 | ||
|
|
c5e2b040b4 | ||
|
|
8ad80dea08 | ||
|
|
b463e8d999 | ||
|
|
6aa8cea46d | ||
|
|
9472eec83c | ||
|
|
bb7943b792 | ||
|
|
763209c57b | ||
|
|
1615b36b91 | ||
|
|
bf15b8d78b | ||
|
|
863e80b445 | ||
|
|
3e54569b17 | ||
|
|
ce876aaa9a | ||
|
|
976787d1f3 | ||
|
|
4b974d5443 | ||
|
|
28a8193e31 | ||
|
|
a3921f48c6 | ||
|
|
45e5fd135d | ||
|
|
6e62da3e14 | ||
|
|
6dd4a53502 | ||
|
|
b4d6c3ea4a | ||
|
|
712598f210 | ||
|
|
d7aca7a71c | ||
|
|
2a79ed293c | ||
|
|
545cb79da5 |
72
Filelist
72
Filelist
@@ -85,6 +85,7 @@ SRC_ALL = \
|
|||||||
src/syntax.c \
|
src/syntax.c \
|
||||||
src/tag.c \
|
src/tag.c \
|
||||||
src/term.c \
|
src/term.c \
|
||||||
|
src/terminal.c \
|
||||||
src/term.h \
|
src/term.h \
|
||||||
src/termlib.c \
|
src/termlib.c \
|
||||||
src/ui.c \
|
src/ui.c \
|
||||||
@@ -187,6 +188,7 @@ SRC_ALL = \
|
|||||||
src/proto/syntax.pro \
|
src/proto/syntax.pro \
|
||||||
src/proto/tag.pro \
|
src/proto/tag.pro \
|
||||||
src/proto/term.pro \
|
src/proto/term.pro \
|
||||||
|
src/proto/terminal.pro \
|
||||||
src/proto/termlib.pro \
|
src/proto/termlib.pro \
|
||||||
src/proto/ui.pro \
|
src/proto/ui.pro \
|
||||||
src/proto/undo.pro \
|
src/proto/undo.pro \
|
||||||
@@ -194,6 +196,76 @@ SRC_ALL = \
|
|||||||
src/proto/version.pro \
|
src/proto/version.pro \
|
||||||
src/proto/winclip.pro \
|
src/proto/winclip.pro \
|
||||||
src/proto/window.pro \
|
src/proto/window.pro \
|
||||||
|
src/libvterm/.bzrignore \
|
||||||
|
src/libvterm/.gitignore \
|
||||||
|
src/libvterm/LICENSE \
|
||||||
|
src/libvterm/Makefile \
|
||||||
|
src/libvterm/README \
|
||||||
|
src/libvterm/tbl2inc_c.pl \
|
||||||
|
src/libvterm/vterm.pc.in \
|
||||||
|
src/libvterm/bin/unterm.c \
|
||||||
|
src/libvterm/bin/vterm-ctrl.c \
|
||||||
|
src/libvterm/bin/vterm-dump.c \
|
||||||
|
src/libvterm/doc/URLs \
|
||||||
|
src/libvterm/doc/seqs.txt \
|
||||||
|
src/libvterm/include/vterm.h \
|
||||||
|
src/libvterm/include/vterm_keycodes.h \
|
||||||
|
src/libvterm/src/encoding.c \
|
||||||
|
src/libvterm/src/encoding/DECdrawing.inc \
|
||||||
|
src/libvterm/src/encoding/DECdrawing.tbl \
|
||||||
|
src/libvterm/src/encoding/uk.inc \
|
||||||
|
src/libvterm/src/encoding/uk.tbl \
|
||||||
|
src/libvterm/src/keyboard.c \
|
||||||
|
src/libvterm/src/mouse.c \
|
||||||
|
src/libvterm/src/parser.c \
|
||||||
|
src/libvterm/src/pen.c \
|
||||||
|
src/libvterm/src/rect.h \
|
||||||
|
src/libvterm/src/screen.c \
|
||||||
|
src/libvterm/src/state.c \
|
||||||
|
src/libvterm/src/unicode.c \
|
||||||
|
src/libvterm/src/utf8.h \
|
||||||
|
src/libvterm/src/vterm.c \
|
||||||
|
src/libvterm/src/vterm_internal.h \
|
||||||
|
src/libvterm/t/02parser.test \
|
||||||
|
src/libvterm/t/03encoding_utf8.test \
|
||||||
|
src/libvterm/t/10state_putglyph.test \
|
||||||
|
src/libvterm/t/11state_movecursor.test \
|
||||||
|
src/libvterm/t/12state_scroll.test \
|
||||||
|
src/libvterm/t/13state_edit.test \
|
||||||
|
src/libvterm/t/14state_encoding.test \
|
||||||
|
src/libvterm/t/15state_mode.test \
|
||||||
|
src/libvterm/t/16state_resize.test \
|
||||||
|
src/libvterm/t/17state_mouse.test \
|
||||||
|
src/libvterm/t/18state_termprops.test \
|
||||||
|
src/libvterm/t/20state_wrapping.test \
|
||||||
|
src/libvterm/t/21state_tabstops.test \
|
||||||
|
src/libvterm/t/22state_save.test \
|
||||||
|
src/libvterm/t/25state_input.test \
|
||||||
|
src/libvterm/t/26state_query.test \
|
||||||
|
src/libvterm/t/27state_reset.test \
|
||||||
|
src/libvterm/t/28state_dbl_wh.test \
|
||||||
|
src/libvterm/t/29state_fallback.test \
|
||||||
|
src/libvterm/t/30pen.test \
|
||||||
|
src/libvterm/t/40screen_ascii.test \
|
||||||
|
src/libvterm/t/41screen_unicode.test \
|
||||||
|
src/libvterm/t/42screen_damage.test \
|
||||||
|
src/libvterm/t/43screen_resize.test \
|
||||||
|
src/libvterm/t/44screen_pen.test \
|
||||||
|
src/libvterm/t/45screen_protect.test \
|
||||||
|
src/libvterm/t/46screen_extent.test \
|
||||||
|
src/libvterm/t/47screen_dbl_wh.test \
|
||||||
|
src/libvterm/t/48screen_termprops.test \
|
||||||
|
src/libvterm/t/90vttest_01-movement-1.test \
|
||||||
|
src/libvterm/t/90vttest_01-movement-2.test \
|
||||||
|
src/libvterm/t/90vttest_01-movement-3.test \
|
||||||
|
src/libvterm/t/90vttest_01-movement-4.test \
|
||||||
|
src/libvterm/t/90vttest_02-screen-1.test \
|
||||||
|
src/libvterm/t/90vttest_02-screen-2.test \
|
||||||
|
src/libvterm/t/90vttest_02-screen-3.test \
|
||||||
|
src/libvterm/t/90vttest_02-screen-4.test \
|
||||||
|
src/libvterm/t/92lp1640917.test \
|
||||||
|
src/libvterm/t/harness.c \
|
||||||
|
src/libvterm/t/run-test.pl \
|
||||||
|
|
||||||
|
|
||||||
# source files for Unix only
|
# source files for Unix only
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ UninstPage instfiles
|
|||||||
Function .onInit
|
Function .onInit
|
||||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||||
"This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer.$\n Continue?" \
|
"This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer.$\n Continue?" \
|
||||||
|
/SD IDYES \
|
||||||
IDYES NoAbort
|
IDYES NoAbort
|
||||||
Abort ; causes installer to quit.
|
Abort ; causes installer to quit.
|
||||||
NoAbort:
|
NoAbort:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" The default vimrc file.
|
" The default vimrc file.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Apr 12
|
" Last change: 2017 Jun 13
|
||||||
"
|
"
|
||||||
" This is loaded if no vimrc file was found.
|
" This is loaded if no vimrc file was found.
|
||||||
" Except when Vim is run with "-u NONE" or "-C".
|
" Except when Vim is run with "-u NONE" or "-C".
|
||||||
@@ -106,12 +106,13 @@ if has("autocmd")
|
|||||||
au!
|
au!
|
||||||
|
|
||||||
" When editing a file, always jump to the last known cursor position.
|
" When editing a file, always jump to the last known cursor position.
|
||||||
" Don't do it when the position is invalid or when inside an event handler
|
" Don't do it when the position is invalid, when inside an event handler
|
||||||
" (happens when dropping a file on gvim).
|
" (happens when dropping a file on gvim) and for a commit message (it's
|
||||||
|
" likely a different one than last time).
|
||||||
autocmd BufReadPost *
|
autocmd BufReadPost *
|
||||||
\ if line("'\"") >= 1 && line("'\"") <= line("$") |
|
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||||
\ exe "normal! g`\"" |
|
\ | exe "normal! g`\""
|
||||||
\ endif
|
\ | endif
|
||||||
|
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ DOCS = \
|
|||||||
tabpage.txt \
|
tabpage.txt \
|
||||||
tagsrch.txt \
|
tagsrch.txt \
|
||||||
term.txt \
|
term.txt \
|
||||||
|
terminal.txt \
|
||||||
tips.txt \
|
tips.txt \
|
||||||
todo.txt \
|
todo.txt \
|
||||||
uganda.txt \
|
uganda.txt \
|
||||||
@@ -236,6 +237,7 @@ HTMLS = \
|
|||||||
tabpage.html \
|
tabpage.html \
|
||||||
tagsrch.html \
|
tagsrch.html \
|
||||||
term.html \
|
term.html \
|
||||||
|
terminal.html \
|
||||||
tips.html \
|
tips.html \
|
||||||
todo.html \
|
todo.html \
|
||||||
uganda.html \
|
uganda.html \
|
||||||
|
|||||||
@@ -10,11 +10,11 @@ Arabic Language support (options & mappings) for Vim *Arabic*
|
|||||||
|
|
||||||
*E800*
|
*E800*
|
||||||
In order to use right-to-left and Arabic mapping support, it is
|
In order to use right-to-left and Arabic mapping support, it is
|
||||||
necessary to compile VIM with the |+arabic| feature.
|
necessary to compile Vim with the |+arabic| feature.
|
||||||
|
|
||||||
These functions have been created by Nadim Shaikli <nadim-at-arabeyes.org>
|
These functions have been created by Nadim Shaikli <nadim-at-arabeyes.org>
|
||||||
|
|
||||||
It is best to view this file with these settings within VIM's GUI: >
|
It is best to view this file with these settings within Vim's GUI: >
|
||||||
|
|
||||||
:set encoding=utf-8
|
:set encoding=utf-8
|
||||||
:set arabicshape
|
:set arabicshape
|
||||||
@@ -42,7 +42,7 @@ the user interface remains the standard Vi interface.
|
|||||||
|
|
||||||
Highlights
|
Highlights
|
||||||
----------
|
----------
|
||||||
o Editing left-to-right files as in the original VIM hasn't changed.
|
o Editing left-to-right files as in the original Vim hasn't changed.
|
||||||
|
|
||||||
o Viewing and editing files in right-to-left windows. File
|
o Viewing and editing files in right-to-left windows. File
|
||||||
orientation is per window, so it is possible to view the same
|
orientation is per window, so it is possible to view the same
|
||||||
@@ -52,7 +52,7 @@ o No special terminal with right-to-left capabilities is required.
|
|||||||
The right-to-left changes are completely hardware independent.
|
The right-to-left changes are completely hardware independent.
|
||||||
Only Arabic fonts are necessary.
|
Only Arabic fonts are necessary.
|
||||||
|
|
||||||
o Compatible with the original VIM. Almost all features work in
|
o Compatible with the original Vim. Almost all features work in
|
||||||
right-to-left mode (there are liable to be bugs).
|
right-to-left mode (there are liable to be bugs).
|
||||||
|
|
||||||
o Changing keyboard mapping and reverse insert modes using a single
|
o Changing keyboard mapping and reverse insert modes using a single
|
||||||
@@ -66,14 +66,14 @@ o While in Arabic mode, numbers are entered from left to right. Upon
|
|||||||
|
|
||||||
o Arabic keymapping on the command line in reverse insert mode.
|
o Arabic keymapping on the command line in reverse insert mode.
|
||||||
|
|
||||||
o Proper Bidirectional functionality is possible given VIM is
|
o Proper Bidirectional functionality is possible given Vim is
|
||||||
started within a Bidi capable terminal emulator.
|
started within a Bidi capable terminal emulator.
|
||||||
|
|
||||||
|
|
||||||
Arabic Fonts *arabicfonts*
|
Arabic Fonts *arabicfonts*
|
||||||
------------
|
------------
|
||||||
|
|
||||||
VIM requires monospaced fonts of which there are many out there.
|
Vim requires monospaced fonts of which there are many out there.
|
||||||
Arabic requires ISO-8859-6 as well as Presentation Form-B fonts
|
Arabic requires ISO-8859-6 as well as Presentation Form-B fonts
|
||||||
(without Form-B, Arabic will _NOT_ be usable). It is highly
|
(without Form-B, Arabic will _NOT_ be usable). It is highly
|
||||||
recommended that users search for so-called 'ISO-10646-1' fonts.
|
recommended that users search for so-called 'ISO-10646-1' fonts.
|
||||||
@@ -96,13 +96,13 @@ o Installation of fonts for X Window systems (Unix/Linux)
|
|||||||
|
|
||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
Prior to the actual usage of Arabic within VIM, a number of settings
|
Prior to the actual usage of Arabic within Vim, a number of settings
|
||||||
need to be accounted for and invoked.
|
need to be accounted for and invoked.
|
||||||
|
|
||||||
o Setting the Arabic fonts
|
o Setting the Arabic fonts
|
||||||
|
|
||||||
+ For VIM GUI set the 'guifont' to your_ARABIC_FONT. This is done
|
+ For Vim GUI set the 'guifont' to your_ARABIC_FONT. This is done
|
||||||
by entering the following command in the VIM window.
|
by entering the following command in the Vim window.
|
||||||
>
|
>
|
||||||
:set guifont=your_ARABIC_FONT
|
:set guifont=your_ARABIC_FONT
|
||||||
<
|
<
|
||||||
@@ -115,7 +115,7 @@ o Setting the Arabic fonts
|
|||||||
you can include ':set guifont=your_ARABIC_FONT' to your .vimrc
|
you can include ':set guifont=your_ARABIC_FONT' to your .vimrc
|
||||||
file.
|
file.
|
||||||
|
|
||||||
+ Under the X Window environment, you can also start VIM with
|
+ Under the X Window environment, you can also start Vim with
|
||||||
'-fn your_ARABIC_FONT' option.
|
'-fn your_ARABIC_FONT' option.
|
||||||
|
|
||||||
o Setting the appropriate character Encoding
|
o Setting the appropriate character Encoding
|
||||||
@@ -124,7 +124,7 @@ o Setting the appropriate character Encoding
|
|||||||
>
|
>
|
||||||
:set encoding=utf-8
|
:set encoding=utf-8
|
||||||
<
|
<
|
||||||
to your .vimrc file (entering the command manually into you VIM
|
to your .vimrc file (entering the command manually into you Vim
|
||||||
window is highly discouraged). In short, include ':set
|
window is highly discouraged). In short, include ':set
|
||||||
encoding=utf-8' to your .vimrc file.
|
encoding=utf-8' to your .vimrc file.
|
||||||
|
|
||||||
@@ -137,11 +137,11 @@ o Setting the appropriate character Encoding
|
|||||||
o Enable Arabic settings [short-cut]
|
o Enable Arabic settings [short-cut]
|
||||||
|
|
||||||
In order to simplify and streamline things, you can either invoke
|
In order to simplify and streamline things, you can either invoke
|
||||||
VIM with the command-line option,
|
Vim with the command-line option,
|
||||||
|
|
||||||
% vim -A my_utf8_arabic_file ...
|
% vim -A my_utf8_arabic_file ...
|
||||||
|
|
||||||
or enable 'arabic' via the following command within VIM
|
or enable 'arabic' via the following command within Vim
|
||||||
>
|
>
|
||||||
:set arabic
|
:set arabic
|
||||||
<
|
<
|
||||||
@@ -189,7 +189,7 @@ o Enable Arabic settings [short-cut]
|
|||||||
>
|
>
|
||||||
:set keymap=arabic
|
:set keymap=arabic
|
||||||
<
|
<
|
||||||
in your VIM window. You can also append the 'keymap' set command to
|
in your Vim window. You can also append the 'keymap' set command to
|
||||||
your .vimrc file. In other words, you can include ':set keymap=arabic'
|
your .vimrc file. In other words, you can include ':set keymap=arabic'
|
||||||
to your .vimrc file.
|
to your .vimrc file.
|
||||||
|
|
||||||
@@ -202,7 +202,7 @@ o Enable Arabic settings [short-cut]
|
|||||||
|
|
||||||
+ Arabic deletion of a combined pair character
|
+ Arabic deletion of a combined pair character
|
||||||
|
|
||||||
By default VIM has the 'delcombine' option disabled. This option
|
By default Vim has the 'delcombine' option disabled. This option
|
||||||
allows the deletion of ALEF in a LAM_ALEF (LAA) combined character
|
allows the deletion of ALEF in a LAM_ALEF (LAA) combined character
|
||||||
and still retain the LAM (i.e. it reverts to treating the combined
|
and still retain the LAM (i.e. it reverts to treating the combined
|
||||||
character as its natural two characters form -- this also pertains
|
character as its natural two characters form -- this also pertains
|
||||||
@@ -211,13 +211,13 @@ o Enable Arabic settings [short-cut]
|
|||||||
>
|
>
|
||||||
:set delcombine
|
:set delcombine
|
||||||
<
|
<
|
||||||
in our VIM window. You can also append the 'delcombine' set command
|
in our Vim window. You can also append the 'delcombine' set command
|
||||||
to your .vimrc file. In other words, you can include ':set delcombine'
|
to your .vimrc file. In other words, you can include ':set delcombine'
|
||||||
to your .vimrc file.
|
to your .vimrc file.
|
||||||
|
|
||||||
+ Arabic right-to-left Mode
|
+ Arabic right-to-left Mode
|
||||||
|
|
||||||
By default VIM starts in Left-to-right mode. 'rightleft' is the
|
By default Vim starts in Left-to-right mode. 'rightleft' is the
|
||||||
command that allows one to alter a window's orientation - that can
|
command that allows one to alter a window's orientation - that can
|
||||||
be accomplished via,
|
be accomplished via,
|
||||||
|
|
||||||
@@ -253,7 +253,7 @@ o Enable Arabic settings [short-cut]
|
|||||||
>
|
>
|
||||||
:set arabicshape
|
:set arabicshape
|
||||||
<
|
<
|
||||||
in our VIM window. You can also append the 'arabicshape' set
|
in our Vim window. You can also append the 'arabicshape' set
|
||||||
command to your .vimrc file. In other words, you can include
|
command to your .vimrc file. In other words, you can include
|
||||||
':set arabicshape' to your .vimrc file.
|
':set arabicshape' to your .vimrc file.
|
||||||
|
|
||||||
@@ -261,7 +261,7 @@ o Enable Arabic settings [short-cut]
|
|||||||
Keymap/Keyboard *arabickeymap*
|
Keymap/Keyboard *arabickeymap*
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
The character/letter encoding used in VIM is the standard UTF-8.
|
The character/letter encoding used in Vim is the standard UTF-8.
|
||||||
It is widely discouraged that any other encoding be used or even
|
It is widely discouraged that any other encoding be used or even
|
||||||
attempted.
|
attempted.
|
||||||
|
|
||||||
@@ -294,7 +294,7 @@ o Keyboard
|
|||||||
Restrictions
|
Restrictions
|
||||||
------------
|
------------
|
||||||
|
|
||||||
o VIM in its GUI form does not currently support Bi-directionality
|
o Vim in its GUI form does not currently support Bi-directionality
|
||||||
(i.e. the ability to see both Arabic and Latin intermixed within
|
(i.e. the ability to see both Arabic and Latin intermixed within
|
||||||
the same line).
|
the same line).
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.0. Last change: 2017 Apr 07
|
*autocmd.txt* For Vim version 8.0. Last change: 2017 Jul 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -610,7 +610,7 @@ FileChangedShell When Vim notices that the modification time of
|
|||||||
|timestamp|
|
|timestamp|
|
||||||
Mostly triggered after executing a shell
|
Mostly triggered after executing a shell
|
||||||
command, but also with a |:checktime| command
|
command, but also with a |:checktime| command
|
||||||
or when Gvim regains input focus.
|
or when gvim regains input focus.
|
||||||
This autocommand is triggered for each changed
|
This autocommand is triggered for each changed
|
||||||
file. It is not used when 'autoread' is set
|
file. It is not used when 'autoread' is set
|
||||||
and the buffer was not changed. If a
|
and the buffer was not changed. If a
|
||||||
@@ -651,7 +651,8 @@ FileType When the 'filetype' option has been set. The
|
|||||||
pattern is matched against the filetype.
|
pattern is matched against the filetype.
|
||||||
<afile> can be used for the name of the file
|
<afile> can be used for the name of the file
|
||||||
where this option was set, and <amatch> for
|
where this option was set, and <amatch> for
|
||||||
the new value of 'filetype'.
|
the new value of 'filetype'. Navigating to
|
||||||
|
another window or buffer is not allowed.
|
||||||
See |filetypes|.
|
See |filetypes|.
|
||||||
*FileWriteCmd*
|
*FileWriteCmd*
|
||||||
FileWriteCmd Before writing to a file, when not writing the
|
FileWriteCmd Before writing to a file, when not writing the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 8.0. Last change: 2016 Dec 02
|
*channel.txt* For Vim version 8.0. Last change: 2017 Jun 11
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -489,6 +489,11 @@ If you want to handle both stderr and stdout with one handler use the
|
|||||||
"callback" option: >
|
"callback" option: >
|
||||||
let job = job_start(command, {"callback": "MyHandler"})
|
let job = job_start(command, {"callback": "MyHandler"})
|
||||||
|
|
||||||
|
Depending on the system, starting a job can put Vim in the background, the
|
||||||
|
started job gets the focus. To avoid that, use the `foreground()` function.
|
||||||
|
This might not always work when called early, put in the callback handler or
|
||||||
|
use a timer to call it after the job has started.
|
||||||
|
|
||||||
You can send a message to the command with ch_evalraw(). If the channel is in
|
You can send a message to the command with ch_evalraw(). If the channel is in
|
||||||
JSON or JS mode you can use ch_evalexpr().
|
JSON or JS mode you can use ch_evalexpr().
|
||||||
|
|
||||||
@@ -513,7 +518,7 @@ By default this reads the whole buffer. This can be changed with the "in_top"
|
|||||||
and "in_bot" options.
|
and "in_bot" options.
|
||||||
|
|
||||||
A special mode is when "in_top" is set to zero and "in_bot" is not set: Every
|
A special mode is when "in_top" is set to zero and "in_bot" is not set: Every
|
||||||
time a line is added to the buffer, the last-but-one line will be send to the
|
time a line is added to the buffer, the last-but-one line will be sent to the
|
||||||
job stdin. This allows for editing the last line and sending it when pressing
|
job stdin. This allows for editing the last line and sending it when pressing
|
||||||
Enter.
|
Enter.
|
||||||
*channel-close-in*
|
*channel-close-in*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.0. Last change: 2016 Sep 27
|
*cmdline.txt* For Vim version 8.0. Last change: 2017 Jul 11
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -455,6 +455,9 @@ matches exactly one character.
|
|||||||
|
|
||||||
The 'wildignorecase' option can be set to ignore case in filenames.
|
The 'wildignorecase' option can be set to ignore case in filenames.
|
||||||
|
|
||||||
|
The 'wildmenu' option can be set to show the matches just above the command
|
||||||
|
line.
|
||||||
|
|
||||||
If you like tcsh's autolist completion, you can use this mapping:
|
If you like tcsh's autolist completion, you can use this mapping:
|
||||||
:cnoremap X <C-L><C-D>
|
:cnoremap X <C-L><C-D>
|
||||||
(Where X is the command key to use, <C-L> is CTRL-L and <C-D> is CTRL-D)
|
(Where X is the command key to use, <C-L> is CTRL-L and <C-D> is CTRL-D)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*debug.txt* For Vim version 8.0. Last change: 2012 Feb 11
|
*debug.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -53,7 +53,7 @@ Use this command to start Vim:
|
|||||||
valgrind --log-file=valgrind.log --leak-check=full ./vim
|
valgrind --log-file=valgrind.log --leak-check=full ./vim
|
||||||
|
|
||||||
Note: Vim will run much slower. If your .vimrc is big or you have several
|
Note: Vim will run much slower. If your .vimrc is big or you have several
|
||||||
plugins you need to be patient for startup, or run with the "-u NONE"
|
plugins you need to be patient for startup, or run with the "--clean"
|
||||||
argument.
|
argument.
|
||||||
|
|
||||||
There are often a few leaks from libraries, such as getpwuid() and
|
There are often a few leaks from libraries, such as getpwuid() and
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 8.0. Last change: 2017 Apr 10
|
*editing.txt* For Vim version 8.0. Last change: 2017 Jul 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -617,16 +617,16 @@ list of the current window.
|
|||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
{Vi: no ++opt}
|
||||||
|
|
||||||
:[count]arge[dit][!] [++opt] [+cmd] {name} *:arge* *:argedit*
|
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
|
||||||
Add {name} to the argument list and edit it.
|
Add {name}s to the argument list and edit it.
|
||||||
When {name} already exists in the argument list, this
|
When {name} already exists in the argument list, this
|
||||||
entry is edited.
|
entry is edited.
|
||||||
This is like using |:argadd| and then |:edit|.
|
This is like using |:argadd| and then |:edit|.
|
||||||
Note that only one file name is allowed, and spaces
|
Spaces in filenames have to be escaped with "\".
|
||||||
inside the file name are allowed, like with |:edit|.
|
|
||||||
[count] is used like with |:argadd|.
|
[count] is used like with |:argadd|.
|
||||||
[!] is required if the current file cannot be
|
If the current file cannot be |abandon|ed {name}s will
|
||||||
|abandon|ed.
|
still be added to the argument list, but won't be
|
||||||
|
edited. No check for duplicates is done.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
@@ -1328,9 +1328,11 @@ present in 'cpoptions' and "!" is not used in the command.
|
|||||||
:chd[ir][!] [path] Same as |:cd|.
|
:chd[ir][!] [path] Same as |:cd|.
|
||||||
|
|
||||||
*:lc* *:lcd*
|
*:lc* *:lcd*
|
||||||
:lc[d][!] {path} Like |:cd|, but only set the current directory for the
|
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
||||||
current window. The current directory for other
|
the cursor is in the current window. The current
|
||||||
windows is not changed. {not in Vi}
|
directory for other windows is not changed, switching
|
||||||
|
to another window will stop using {path}.
|
||||||
|
{not in Vi}
|
||||||
|
|
||||||
*:lch* *:lchdir*
|
*:lch* *:lchdir*
|
||||||
:lch[dir][!] Same as |:lcd|. {not in Vi}
|
:lch[dir][!] Same as |:lcd|. {not in Vi}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.0. Last change: 2017 Apr 29
|
*eval.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -2369,6 +2369,12 @@ tagfiles() List tags files used
|
|||||||
tan({expr}) Float tangent of {expr}
|
tan({expr}) Float tangent of {expr}
|
||||||
tanh({expr}) Float hyperbolic tangent of {expr}
|
tanh({expr}) Float hyperbolic tangent of {expr}
|
||||||
tempname() String name for a temporary file
|
tempname() String name for a temporary file
|
||||||
|
term_getsize() Dict get the size of a terminal
|
||||||
|
term_open() Job open a terminal window and run a job
|
||||||
|
term_scrape() List inspect terminal screen
|
||||||
|
term_sendkeys() Number send keystrokes to a terminal
|
||||||
|
term_setsize() Number set the size of a terminal
|
||||||
|
term_wait() Number wait for screen to be updated
|
||||||
test_alloc_fail({id}, {countdown}, {repeat})
|
test_alloc_fail({id}, {countdown}, {repeat})
|
||||||
none make memory allocation fail
|
none make memory allocation fail
|
||||||
test_autochdir() none enable 'autochdir' during startup
|
test_autochdir() none enable 'autochdir' during startup
|
||||||
@@ -3373,6 +3379,7 @@ did_filetype() Returns |TRUE| when autocommands are being executed and the
|
|||||||
FileType event has been triggered at least once. Can be used
|
FileType event has been triggered at least once. Can be used
|
||||||
to avoid triggering the FileType event again in the scripts
|
to avoid triggering the FileType event again in the scripts
|
||||||
that detect the file type. |FileType|
|
that detect the file type. |FileType|
|
||||||
|
Returns |FALSE| when `:setf FALLBACK` was used.
|
||||||
When editing another file, the counter is reset, thus this
|
When editing another file, the counter is reset, thus this
|
||||||
really checks if the FileType event has been triggered for the
|
really checks if the FileType event has been triggered for the
|
||||||
current buffer. This allows an autocommand that starts
|
current buffer. This allows an autocommand that starts
|
||||||
@@ -4188,14 +4195,14 @@ getchar([expr]) *getchar()*
|
|||||||
not consumed. Return zero if no character available.
|
not consumed. Return zero if no character available.
|
||||||
|
|
||||||
Without [expr] and when [expr] is 0 a whole character or
|
Without [expr] and when [expr] is 0 a whole character or
|
||||||
special key is returned. If it is an 8-bit character, the
|
special key is returned. If it is a single character, the
|
||||||
result is a number. Use nr2char() to convert it to a String.
|
result is a number. Use nr2char() to convert it to a String.
|
||||||
Otherwise a String is returned with the encoded character.
|
Otherwise a String is returned with the encoded character.
|
||||||
For a special key it's a sequence of bytes starting with 0x80
|
For a special key it's a String with a sequence of bytes
|
||||||
(decimal: 128). This is the same value as the string
|
starting with 0x80 (decimal: 128). This is the same value as
|
||||||
"\<Key>", e.g., "\<Left>". The returned value is also a
|
the String "\<Key>", e.g., "\<Left>". The returned value is
|
||||||
String when a modifier (shift, control, alt) was used that is
|
also a String when a modifier (shift, control, alt) was used
|
||||||
not included in the character.
|
that is not included in the character.
|
||||||
|
|
||||||
When [expr] is 0 and Esc is typed, there will be a short delay
|
When [expr] is 0 and Esc is typed, there will be a short delay
|
||||||
while Vim waits to see if this is the start of an escape
|
while Vim waits to see if this is the start of an escape
|
||||||
@@ -4585,18 +4592,24 @@ getqflist([{what}]) *getqflist()*
|
|||||||
returns only the items listed in {what} as a dictionary. The
|
returns only the items listed in {what} as a dictionary. The
|
||||||
following string items are supported in {what}:
|
following string items are supported in {what}:
|
||||||
context get the context stored with |setqflist()|
|
context get the context stored with |setqflist()|
|
||||||
|
items quickfix list entries
|
||||||
nr get information for this quickfix list; zero
|
nr get information for this quickfix list; zero
|
||||||
means the current quickfix list
|
means the current quickfix list and '$' means
|
||||||
|
the last quickfix list
|
||||||
title get the list title
|
title get the list title
|
||||||
winid get the |window-ID| (if opened)
|
winid get the |window-ID| (if opened)
|
||||||
all all of the above quickfix properties
|
all all of the above quickfix properties
|
||||||
Non-string items in {what} are ignored.
|
Non-string items in {what} are ignored.
|
||||||
If "nr" is not present then the current quickfix list is used.
|
If "nr" is not present then the current quickfix list is used.
|
||||||
|
To get the number of lists in the quickfix stack, set 'nr' to
|
||||||
|
'$' in {what}. The 'nr' value in the returned dictionary
|
||||||
|
contains the quickfix stack size.
|
||||||
In case of error processing {what}, an empty dictionary is
|
In case of error processing {what}, an empty dictionary is
|
||||||
returned.
|
returned.
|
||||||
|
|
||||||
The returned dictionary contains the following entries:
|
The returned dictionary contains the following entries:
|
||||||
context context information stored with |setqflist()|
|
context context information stored with |setqflist()|
|
||||||
|
items quickfix list entries
|
||||||
nr quickfix list number
|
nr quickfix list number
|
||||||
title quickfix list title text
|
title quickfix list title text
|
||||||
winid quickfix |window-ID| (if opened)
|
winid quickfix |window-ID| (if opened)
|
||||||
@@ -5460,7 +5473,10 @@ line({expr}) The result is a Number, which is the line number of the file
|
|||||||
< *last-position-jump*
|
< *last-position-jump*
|
||||||
This autocommand jumps to the last known position in a file
|
This autocommand jumps to the last known position in a file
|
||||||
just after opening it, if the '" mark is set: >
|
just after opening it, if the '" mark is set: >
|
||||||
:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
|
:au BufReadPost *
|
||||||
|
\ if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||||
|
\ | exe "normal! g`\""
|
||||||
|
\ | endif
|
||||||
|
|
||||||
line2byte({lnum}) *line2byte()*
|
line2byte({lnum}) *line2byte()*
|
||||||
Return the byte count from the start of the buffer for line
|
Return the byte count from the start of the buffer for line
|
||||||
@@ -5882,7 +5898,7 @@ max({expr}) Return the maximum value of all items in {expr}.
|
|||||||
it returns the maximum of all values in the dictionary.
|
it returns the maximum of all values in the dictionary.
|
||||||
If {expr} is neither a list nor a dictionary, or one of the
|
If {expr} is neither a list nor a dictionary, or one of the
|
||||||
items in {expr} cannot be used as a Number this results in
|
items in {expr} cannot be used as a Number this results in
|
||||||
an error. An empty |List| or |Dictionary| results in zero.
|
an error. An empty |List| or |Dictionary| results in zero.
|
||||||
|
|
||||||
*min()*
|
*min()*
|
||||||
min({expr}) Return the minimum value of all items in {expr}.
|
min({expr}) Return the minimum value of all items in {expr}.
|
||||||
@@ -5890,7 +5906,7 @@ min({expr}) Return the minimum value of all items in {expr}.
|
|||||||
it returns the minimum of all values in the dictionary.
|
it returns the minimum of all values in the dictionary.
|
||||||
If {expr} is neither a list nor a dictionary, or one of the
|
If {expr} is neither a list nor a dictionary, or one of the
|
||||||
items in {expr} cannot be used as a Number this results in
|
items in {expr} cannot be used as a Number this results in
|
||||||
an error. An empty |List| or |Dictionary| results in zero.
|
an error. An empty |List| or |Dictionary| results in zero.
|
||||||
|
|
||||||
*mkdir()* *E739*
|
*mkdir()* *E739*
|
||||||
mkdir({name} [, {path} [, {prot}]])
|
mkdir({name} [, {path} [, {prot}]])
|
||||||
@@ -6185,8 +6201,8 @@ printf({fmt}, {expr1} ...) *printf()*
|
|||||||
zero the decimal point is omitted. When the precision
|
zero the decimal point is omitted. When the precision
|
||||||
is not specified 6 is used. A really big number
|
is not specified 6 is used. A really big number
|
||||||
(out of range or dividing by zero) results in "inf"
|
(out of range or dividing by zero) results in "inf"
|
||||||
or "-inf" with %f (INF or -INF with %F).
|
or "-inf" with %f (INF or -INF with %F).
|
||||||
"0.0 / 0.0" results in "nan" with %f (NAN with %F).
|
"0.0 / 0.0" results in "nan" with %f (NAN with %F).
|
||||||
Example: >
|
Example: >
|
||||||
echo printf("%.2f", 12.115)
|
echo printf("%.2f", 12.115)
|
||||||
< 12.12
|
< 12.12
|
||||||
@@ -6990,11 +7006,16 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
|
|||||||
argument is ignored. The following items can be specified in
|
argument is ignored. The following items can be specified in
|
||||||
{what}:
|
{what}:
|
||||||
context any Vim type can be stored as a context
|
context any Vim type can be stored as a context
|
||||||
nr list number in the quickfix stack
|
items list of quickfix entries. Same as the {list}
|
||||||
|
argument.
|
||||||
|
nr list number in the quickfix stack; zero
|
||||||
|
means the current quickfix list and '$' means
|
||||||
|
the last quickfix list
|
||||||
title quickfix list title text
|
title quickfix list title text
|
||||||
Unsupported keys in {what} are ignored.
|
Unsupported keys in {what} are ignored.
|
||||||
If the "nr" item is not present, then the current quickfix list
|
If the "nr" item is not present, then the current quickfix list
|
||||||
is modified.
|
is modified. When creating a new quickfix list, "nr" can be
|
||||||
|
set to a value one greater than the quickfix stack size.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
:call setqflist([], 'r', {'title': 'My search'})
|
:call setqflist([], 'r', {'title': 'My search'})
|
||||||
@@ -7094,18 +7115,22 @@ shellescape({string} [, {special}]) *shellescape()*
|
|||||||
quotes within {string}.
|
quotes within {string}.
|
||||||
Otherwise it will enclose {string} in single quotes and
|
Otherwise it will enclose {string} in single quotes and
|
||||||
replace all "'" with "'\''".
|
replace all "'" with "'\''".
|
||||||
|
|
||||||
When the {special} argument is present and it's a non-zero
|
When the {special} argument is present and it's a non-zero
|
||||||
Number or a non-empty String (|non-zero-arg|), then special
|
Number or a non-empty String (|non-zero-arg|), then special
|
||||||
items such as "!", "%", "#" and "<cword>" will be preceded by
|
items such as "!", "%", "#" and "<cword>" will be preceded by
|
||||||
a backslash. This backslash will be removed again by the |:!|
|
a backslash. This backslash will be removed again by the |:!|
|
||||||
command.
|
command.
|
||||||
|
|
||||||
The "!" character will be escaped (again with a |non-zero-arg|
|
The "!" character will be escaped (again with a |non-zero-arg|
|
||||||
{special}) when 'shell' contains "csh" in the tail. That is
|
{special}) when 'shell' contains "csh" in the tail. That is
|
||||||
because for csh and tcsh "!" is used for history replacement
|
because for csh and tcsh "!" is used for history replacement
|
||||||
even when inside single quotes.
|
even when inside single quotes.
|
||||||
The <NL> character is also escaped. With a |non-zero-arg|
|
|
||||||
{special} and 'shell' containing "csh" in the tail it's
|
With a |non-zero-arg| {special} the <NL> character is also
|
||||||
|
escaped. When 'shell' containing "csh" in the tail it's
|
||||||
escaped a second time.
|
escaped a second time.
|
||||||
|
|
||||||
Example of use with a |:!| command: >
|
Example of use with a |:!| command: >
|
||||||
:exe '!dir ' . shellescape(expand('<cfile>'), 1)
|
:exe '!dir ' . shellescape(expand('<cfile>'), 1)
|
||||||
< This results in a directory listing for the file under the
|
< This results in a directory listing for the file under the
|
||||||
@@ -7637,17 +7662,29 @@ synIDtrans({synID}) *synIDtrans()*
|
|||||||
":highlight link" are followed.
|
":highlight link" are followed.
|
||||||
|
|
||||||
synconcealed({lnum}, {col}) *synconcealed()*
|
synconcealed({lnum}, {col}) *synconcealed()*
|
||||||
The result is a List. The first item in the list is 0 if the
|
The result is a List with currently three items:
|
||||||
character at the position {lnum} and {col} is not part of a
|
1. The first item in the list is 0 if the character at the
|
||||||
concealable region, 1 if it is. The second item in the list is
|
position {lnum} and {col} is not part of a concealable
|
||||||
a string. If the first item is 1, the second item contains the
|
region, 1 if it is.
|
||||||
text which will be displayed in place of the concealed text,
|
2. The second item in the list is a string. If the first item
|
||||||
depending on the current setting of 'conceallevel'. The third
|
is 1, the second item contains the text which will be
|
||||||
and final item in the list is a unique number representing the
|
displayed in place of the concealed text, depending on the
|
||||||
specific syntax region matched. This allows detection of the
|
current setting of 'conceallevel' and 'listchars'.
|
||||||
beginning of a new concealable region if there are two
|
3. The third and final item in the list is a number
|
||||||
consecutive regions with the same replacement character.
|
representing the specific syntax region matched in the
|
||||||
For an example use see $VIMRUNTIME/syntax/2html.vim .
|
line. When the character is not concealed the value is
|
||||||
|
zero. This allows detection of the beginning of a new
|
||||||
|
concealable region if there are two consecutive regions
|
||||||
|
with the same replacement character. For an example, if
|
||||||
|
the text is "123456" and both "23" and "45" are concealed
|
||||||
|
and replace by the character "X", then:
|
||||||
|
call returns ~
|
||||||
|
synconcealed(lnum, 1) [0, '', 0]
|
||||||
|
synconcealed(lnum, 2) [1, 'X', 1]
|
||||||
|
synconcealed(lnum, 3) [1, 'X', 1]
|
||||||
|
synconcealed(lnum, 4) [1, 'X', 2]
|
||||||
|
synconcealed(lnum, 5) [1, 'X', 2]
|
||||||
|
synconcealed(lnum, 6) [0, '', 0]
|
||||||
|
|
||||||
|
|
||||||
synstack({lnum}, {col}) *synstack()*
|
synstack({lnum}, {col}) *synstack()*
|
||||||
@@ -7856,6 +7893,23 @@ tempname() *tempname()* *temp-file-name*
|
|||||||
For MS-Windows forward slashes are used when the 'shellslash'
|
For MS-Windows forward slashes are used when the 'shellslash'
|
||||||
option is set or when 'shellcmdflag' starts with '-'.
|
option is set or when 'shellcmdflag' starts with '-'.
|
||||||
|
|
||||||
|
term_getsize() *term_getsize()*
|
||||||
|
Get the size of a terminal. NOT IMPLEMENTED YET
|
||||||
|
|
||||||
|
term_open() *term_open()*
|
||||||
|
Open a terminal window and run a job. NOT IMPLEMENTED YET
|
||||||
|
|
||||||
|
term_scrape() *term_scrape()*
|
||||||
|
Inspect terminal screen. NOT IMPLEMENTED YET
|
||||||
|
|
||||||
|
term_sendkeys() *term_sendkeys()*
|
||||||
|
Send keystrokes to a terminal. NOT IMPLEMENTED YET
|
||||||
|
|
||||||
|
term_setsize() *term_setsize()*
|
||||||
|
Set the size of a terminal. NOT IMPLEMENTED YET
|
||||||
|
|
||||||
|
term_wait() *term_wait()*
|
||||||
|
Wait for screen to be updated. NOT IMPLEMENTED YET
|
||||||
|
|
||||||
test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()*
|
test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()*
|
||||||
This is for testing: If the memory allocation with {id} is
|
This is for testing: If the memory allocation with {id} is
|
||||||
@@ -7912,8 +7966,19 @@ test_override({name}, {val}) *test_override()*
|
|||||||
name effect when {val} is non-zero ~
|
name effect when {val} is non-zero ~
|
||||||
redraw disable the redrawing() function
|
redraw disable the redrawing() function
|
||||||
char_avail disable the char_avail() function
|
char_avail disable the char_avail() function
|
||||||
|
starting reset the "starting" variable, see below
|
||||||
ALL clear all overrides ({val} is not used)
|
ALL clear all overrides ({val} is not used)
|
||||||
|
|
||||||
|
"starting" is to be used when a test should behave like
|
||||||
|
startup was done. Since the tests are run by sourcing a
|
||||||
|
script the "starting" variable is non-zero. This is usually a
|
||||||
|
good thing (tests run faster), but sometimes changes behavior
|
||||||
|
in a way that the test doesn't work properly.
|
||||||
|
When using: >
|
||||||
|
call test_override('starting', 1)
|
||||||
|
< The value of "starting" is saved. It is restored by: >
|
||||||
|
call test_override('starting', 0)
|
||||||
|
|
||||||
test_settime({expr}) *test_settime()*
|
test_settime({expr}) *test_settime()*
|
||||||
Set the time Vim uses internally. Currently only used for
|
Set the time Vim uses internally. Currently only used for
|
||||||
timestamps in the history, as they are used in viminfo, and
|
timestamps in the history, as they are used in viminfo, and
|
||||||
@@ -7975,6 +8040,10 @@ timer_start({time}, {callback} [, {options}])
|
|||||||
"repeat" Number of times to repeat calling the
|
"repeat" Number of times to repeat calling the
|
||||||
callback. -1 means forever. When not present
|
callback. -1 means forever. When not present
|
||||||
the callback will be called once.
|
the callback will be called once.
|
||||||
|
If the timer causes an error three times in a
|
||||||
|
row the repeat is cancelled. This avoids that
|
||||||
|
Vim becomes unusable because of all the error
|
||||||
|
messages.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
func MyHandler(timer)
|
func MyHandler(timer)
|
||||||
@@ -8334,8 +8403,8 @@ winwidth({nr}) *winwidth()*
|
|||||||
:if winwidth(0) <= 50
|
:if winwidth(0) <= 50
|
||||||
: exe "normal 50\<C-W>|"
|
: exe "normal 50\<C-W>|"
|
||||||
:endif
|
:endif
|
||||||
< For getting the terminal or screen size, see the 'columns'
|
< For getting the terminal or screen size, see the 'columns'
|
||||||
option.
|
option.
|
||||||
|
|
||||||
|
|
||||||
wordcount() *wordcount()*
|
wordcount() *wordcount()*
|
||||||
@@ -8353,11 +8422,11 @@ wordcount() *wordcount()*
|
|||||||
cursor_words Number of words before cursor position
|
cursor_words Number of words before cursor position
|
||||||
(not in Visual mode)
|
(not in Visual mode)
|
||||||
visual_bytes Number of bytes visually selected
|
visual_bytes Number of bytes visually selected
|
||||||
(only in Visual mode)
|
(only in Visual mode)
|
||||||
visual_chars Number of chars visually selected
|
visual_chars Number of chars visually selected
|
||||||
(only in Visual mode)
|
(only in Visual mode)
|
||||||
visual_words Number of chars visually selected
|
visual_words Number of chars visually selected
|
||||||
(only in Visual mode)
|
(only in Visual mode)
|
||||||
|
|
||||||
|
|
||||||
*writefile()*
|
*writefile()*
|
||||||
@@ -8701,6 +8770,9 @@ See |:verbose-cmd| for more information.
|
|||||||
not used an error message is given. When [!] is used,
|
not used an error message is given. When [!] is used,
|
||||||
an existing function is silently replaced. Unless it
|
an existing function is silently replaced. Unless it
|
||||||
is currently being executed, that is an error.
|
is currently being executed, that is an error.
|
||||||
|
NOTE: Use ! wisely. If used without care it can cause
|
||||||
|
an existing function to be replaced unexpectedly,
|
||||||
|
which is hard to debug.
|
||||||
|
|
||||||
For the {arguments} see |function-argument|.
|
For the {arguments} see |function-argument|.
|
||||||
|
|
||||||
@@ -8750,18 +8822,36 @@ See |:verbose-cmd| for more information.
|
|||||||
implies that the effect of |:nohlsearch| is undone
|
implies that the effect of |:nohlsearch| is undone
|
||||||
when the function returns.
|
when the function returns.
|
||||||
|
|
||||||
*:endf* *:endfunction* *E126* *E193*
|
*:endf* *:endfunction* *E126* *E193* *W22*
|
||||||
:endf[unction] The end of a function definition. Must be on a line
|
:endf[unction] [argument]
|
||||||
by its own, without other commands.
|
The end of a function definition. Best is to put it
|
||||||
|
on a line by its own, without [argument].
|
||||||
|
|
||||||
|
[argument] can be:
|
||||||
|
| command command to execute next
|
||||||
|
\n command command to execute next
|
||||||
|
" comment always ignored
|
||||||
|
anything else ignored, warning given when
|
||||||
|
'verbose' is non-zero
|
||||||
|
The support for a following command was added in Vim
|
||||||
|
8.0.0654, before that any argument was silently
|
||||||
|
ignored.
|
||||||
|
|
||||||
|
To be able to define a function inside an `:execute`
|
||||||
|
command, use line breaks instead of |:bar|: >
|
||||||
|
:exe "func Foo()\necho 'foo'\nendfunc"
|
||||||
|
<
|
||||||
*:delf* *:delfunction* *E130* *E131* *E933*
|
*:delf* *:delfunction* *E130* *E131* *E933*
|
||||||
:delf[unction] {name} Delete function {name}.
|
:delf[unction][!] {name}
|
||||||
|
Delete function {name}.
|
||||||
{name} can also be a |Dictionary| entry that is a
|
{name} can also be a |Dictionary| entry that is a
|
||||||
|Funcref|: >
|
|Funcref|: >
|
||||||
:delfunc dict.init
|
:delfunc dict.init
|
||||||
< This will remove the "init" entry from "dict". The
|
< This will remove the "init" entry from "dict". The
|
||||||
function is deleted if there are no more references to
|
function is deleted if there are no more references to
|
||||||
it.
|
it.
|
||||||
|
With the ! there is no error if the function does not
|
||||||
|
exist.
|
||||||
*:retu* *:return* *E133*
|
*:retu* *:return* *E133*
|
||||||
:retu[rn] [expr] Return from a function. When "[expr]" is given, it is
|
:retu[rn] [expr] Return from a function. When "[expr]" is given, it is
|
||||||
evaluated and returned as the result of the function.
|
evaluated and returned as the result of the function.
|
||||||
@@ -10692,12 +10782,6 @@ When the |+eval| feature is available the command is skipped because of the
|
|||||||
"while 0". Without the |+eval| feature the "while 0" is an error, which is
|
"while 0". Without the |+eval| feature the "while 0" is an error, which is
|
||||||
silently ignored, and the command is executed.
|
silently ignored, and the command is executed.
|
||||||
|
|
||||||
The "<CR>" here is a real CR character, type CTRL-V Enter to get it.
|
|
||||||
|
|
||||||
When the |+eval| feature is available the ":" is remapped to add a double
|
|
||||||
quote, which has the effect of commenting-out the command. Without the
|
|
||||||
|+eval| feature the nnoremap command is skipped and the command is executed.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
11. The sandbox *eval-sandbox* *sandbox* *E48*
|
11. The sandbox *eval-sandbox* *sandbox* *E48*
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic
|
|||||||
then "gnat xref -v *.ad?"
|
then "gnat xref -v *.ad?"
|
||||||
4) Project manager support is completely broken - don't even try "gnat xref
|
4) Project manager support is completely broken - don't even try "gnat xref
|
||||||
-Padacl.gpr".
|
-Padacl.gpr".
|
||||||
5) VIM is faster when the tags file is sorted - use "sort --unique
|
5) Vim is faster when the tags file is sorted - use "sort --unique
|
||||||
--ignore-case --output=tags tags" .
|
--ignore-case --output=tags tags" .
|
||||||
6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark
|
6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark
|
||||||
the file assorted.
|
the file assorted.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui_x11.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
*gui_x11.txt* For Vim version 8.0. Last change: 2017 Jun 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -279,8 +279,9 @@ For CDE "dtwm" (a derivative of Motif) add this line in the .Xdefaults: >
|
|||||||
For "mwm" (Motif window manager) the line would be: >
|
For "mwm" (Motif window manager) the line would be: >
|
||||||
Mwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm
|
Mwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm
|
||||||
|
|
||||||
Mouse Pointers Available in X11 *X11_mouse_shapes*
|
|
||||||
|
|
||||||
|
Mouse Pointers Available in X11 ~
|
||||||
|
*X11_mouse_shapes*
|
||||||
By using the |'mouseshape'| option, the mouse pointer can be automatically
|
By using the |'mouseshape'| option, the mouse pointer can be automatically
|
||||||
changed whenever Vim enters one of its various modes (e.g., Insert or
|
changed whenever Vim enters one of its various modes (e.g., Insert or
|
||||||
Command). Currently, the available pointers are:
|
Command). Currently, the available pointers are:
|
||||||
@@ -354,7 +355,9 @@ to the GTK documentation, however little there is, on how to do this.
|
|||||||
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
|
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
|
||||||
for more information.
|
for more information.
|
||||||
|
|
||||||
*gtk-tooltip-colors*
|
|
||||||
|
Tooltip Colors ~
|
||||||
|
*gtk-tooltip-colors*
|
||||||
Example, which sets the tooltip colors to black on light-yellow: >
|
Example, which sets the tooltip colors to black on light-yellow: >
|
||||||
|
|
||||||
style "tooltips"
|
style "tooltips"
|
||||||
@@ -372,15 +375,122 @@ distribution.
|
|||||||
For GTK+ 3, an effect similar to the above can be obtained by adding the
|
For GTK+ 3, an effect similar to the above can be obtained by adding the
|
||||||
following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
|
following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
|
||||||
$HOME/.config/gtk-3.0/gtk.css):
|
$HOME/.config/gtk-3.0/gtk.css):
|
||||||
>
|
|
||||||
|
For GTK+ 3 < 3.20: >
|
||||||
|
|
||||||
.tooltip {
|
.tooltip {
|
||||||
background-color: #ffffcc;
|
background-color: #ffffcc;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
<
|
<
|
||||||
|
For GTK+ 3 >= 3.20: >
|
||||||
|
|
||||||
Using Vim as a GTK+ plugin *gui-gtk-socketid*
|
tooltip {
|
||||||
|
background-color: #ffffcc;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: #2e3436;
|
||||||
|
}
|
||||||
|
<
|
||||||
|
|
||||||
|
A Quick Look at GTK+ CSS ~
|
||||||
|
*gtk-css*
|
||||||
|
The contents of this subsection apply to GTK+ 3.20 or later which provides
|
||||||
|
stable support for GTK+ CSS:
|
||||||
|
|
||||||
|
https://developer.gnome.org/gtk3/stable/theming.html
|
||||||
|
|
||||||
|
GTK+ uses CSS for styling and layout of widgets. In this subsection, we'll
|
||||||
|
have a quick look at GTK+ CSS through simple, illustrative examples.
|
||||||
|
|
||||||
|
Example 1. Empty Space Adjustment ~
|
||||||
|
|
||||||
|
By default, the toolbar and the tabline of the GTK+ 3 GUI are somewhat larger
|
||||||
|
than those of the GTK+ 2 GUI. Some people may want to make them look similar
|
||||||
|
to the GTK+ 2 GUI in size.
|
||||||
|
|
||||||
|
To do that, we'll try reducing empty space around icons and labels that looks
|
||||||
|
apparently superfluous.
|
||||||
|
|
||||||
|
Add the following lines to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
|
||||||
|
$HOME/.config/gtk-3.0/gtk.css): >
|
||||||
|
|
||||||
|
toolbar button {
|
||||||
|
margin-top: -2px;
|
||||||
|
margin-right: 0px;
|
||||||
|
margin-bottom: -2px;
|
||||||
|
margin-left: 0px;
|
||||||
|
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-right: 0px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
padding-left: 0px
|
||||||
|
}
|
||||||
|
|
||||||
|
notebook tab {
|
||||||
|
margin-top: -1px;
|
||||||
|
margin-right: 3px;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
margin-left: 3px;
|
||||||
|
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-right: 0px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
padding-left: 0px
|
||||||
|
}
|
||||||
|
<
|
||||||
|
Since it's a CSS, they can be rewritten using shorthand: >
|
||||||
|
|
||||||
|
toolbar button {
|
||||||
|
margin: -2px 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
notebook tab {
|
||||||
|
margin: -1px 3px;
|
||||||
|
padding: 0px
|
||||||
|
}
|
||||||
|
<
|
||||||
|
Note: You might want to use 'toolbariconsize' to adjust the icon size, too.
|
||||||
|
|
||||||
|
Note: Depending on the icon theme and/or the font in use, some extra tweaks
|
||||||
|
may be needed for a satisfactory result.
|
||||||
|
|
||||||
|
Note: In addition to margin and padding, you can use border. For details,
|
||||||
|
refer to the box model of CSS, e.g.,
|
||||||
|
|
||||||
|
https://www.w3schools.com/css/css_boxmodel.asp
|
||||||
|
|
||||||
|
Example 2. More Than Just Colors ~
|
||||||
|
|
||||||
|
GTK+ CSS supports gradients as well: >
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background-image: -gtk-gradient(linear,
|
||||||
|
0 0, 0 1,
|
||||||
|
color-stop(0, #344752),
|
||||||
|
color-stop(0.5, #546772),
|
||||||
|
color-stop(1, #243742));
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: #f3f3f3;
|
||||||
|
}
|
||||||
|
<
|
||||||
|
Gradients can be used to make a GUI element visually distinguishable from
|
||||||
|
others without relying on high contrast. Accordingly, effective use of them is
|
||||||
|
a useful technique to give a theme a sense of unity in color and luminance.
|
||||||
|
|
||||||
|
Note: Theming can be difficult since it must make every application look
|
||||||
|
equally good; making a single application more charming often gets others
|
||||||
|
unexpectedly less attractive or even deteriorates their usability. Keep this
|
||||||
|
in mind always when you try improving a theme.
|
||||||
|
|
||||||
|
|
||||||
|
Using Vim as a GTK+ plugin ~
|
||||||
|
*gui-gtk-socketid*
|
||||||
When the GTK+ version of Vim starts up normally, it creates its own top level
|
When the GTK+ version of Vim starts up normally, it creates its own top level
|
||||||
window (technically, a 'GtkWindow'). GTK+ provides an embedding facility with
|
window (technically, a 'GtkWindow'). GTK+ provides an embedding facility with
|
||||||
its GtkSocket and GtkPlug widgets. If one GTK+ application creates a
|
its GtkSocket and GtkPlug widgets. If one GTK+ application creates a
|
||||||
@@ -425,8 +535,8 @@ Note: Avoid use of --enable-gnome-check with GTK+ 3 GUI build. The
|
|||||||
functionality mentioned above is consolidated in GTK+ 3.
|
functionality mentioned above is consolidated in GTK+ 3.
|
||||||
|
|
||||||
|
|
||||||
GNOME session support *gui-gnome-session* *gnome-session*
|
GNOME session support ~
|
||||||
|
*gui-gnome-session* *gnome-session*
|
||||||
On logout, Vim shows the well-known exit confirmation dialog if any buffers
|
On logout, Vim shows the well-known exit confirmation dialog if any buffers
|
||||||
are modified. Clicking [Cancel] will stop the logout process. Otherwise the
|
are modified. Clicking [Cancel] will stop the logout process. Otherwise the
|
||||||
current session is stored to disk by using the |:mksession| command, and
|
current session is stored to disk by using the |:mksession| command, and
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Introduction *hangul*
|
Introduction *hangul*
|
||||||
------------
|
------------
|
||||||
It is to input hangul, the Korean language, with VIM GUI version.
|
It is to input hangul, the Korean language, with Vim GUI version.
|
||||||
If you have a XIM program, you can use another |+xim| feature.
|
If you have a XIM program, you can use another |+xim| feature.
|
||||||
Basically, it is for anybody who has no XIM program.
|
Basically, it is for anybody who has no XIM program.
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ You should set LANG variable to Korean locale such as ko, ko_KR.eucKR
|
|||||||
or ko_KR.UTF-8.
|
or ko_KR.UTF-8.
|
||||||
If you set LC_ALL variable, it should be set to Korean locale also.
|
If you set LC_ALL variable, it should be set to Korean locale also.
|
||||||
|
|
||||||
VIM resource
|
Vim resource
|
||||||
------------
|
------------
|
||||||
You may want to set 'encoding' and 'fileencodings'.
|
You may want to set 'encoding' and 'fileencodings'.
|
||||||
Next are examples: >
|
Next are examples: >
|
||||||
@@ -53,12 +53,12 @@ If both are set, VIM_KEYBOARD has higher priority.
|
|||||||
|
|
||||||
Hangul Fonts
|
Hangul Fonts
|
||||||
------------
|
------------
|
||||||
If you use GTK version of GVIM, you should set 'guifont' and 'guifontwide'.
|
If you use GTK version of gvim, you should set 'guifont' and 'guifontwide'.
|
||||||
For example: >
|
For example: >
|
||||||
set guifont=Courier\ 12
|
set guifont=Courier\ 12
|
||||||
set guifontwide=NanumGothicCoding\ 12
|
set guifontwide=NanumGothicCoding\ 12
|
||||||
|
|
||||||
If you use Motif or Athena version of GVIM, you should set 'guifontset' in
|
If you use Motif or Athena version of gvim, you should set 'guifontset' in
|
||||||
your vimrc. You can set fontset in the .Xdefaults file.
|
your vimrc. You can set fontset in the .Xdefaults file.
|
||||||
|
|
||||||
$HOME/.gvimrc: >
|
$HOME/.gvimrc: >
|
||||||
@@ -77,11 +77,11 @@ $HOME/.Xdefaults: >
|
|||||||
|
|
||||||
attention! the , (comma) or ; (semicolon)
|
attention! the , (comma) or ; (semicolon)
|
||||||
|
|
||||||
And there should be no ':set guifont'. If it exists, then Gvim ignores
|
And there should be no ':set guifont'. If it exists, then gvim ignores
|
||||||
':set guifontset'. It means VIM runs without fontset supporting.
|
':set guifontset'. It means Vim runs without fontset supporting.
|
||||||
So, you can see only English. Hangul does not be correctly displayed.
|
So, you can see only English. Hangul does not be correctly displayed.
|
||||||
|
|
||||||
After "fontset" feature is enabled, VIM does not allow using english
|
After "fontset" feature is enabled, Vim does not allow using english
|
||||||
font only in "font" setting for syntax.
|
font only in "font" setting for syntax.
|
||||||
For example, if you use >
|
For example, if you use >
|
||||||
:set guifontset=eng_font,your_font
|
:set guifontset=eng_font,your_font
|
||||||
@@ -99,7 +99,7 @@ We don't support Johab font.
|
|||||||
We don't support Hanja input.
|
We don't support Hanja input.
|
||||||
And We don't have any plan to support them.
|
And We don't have any plan to support them.
|
||||||
|
|
||||||
If you really need such features, you can use console version of VIM with a
|
If you really need such features, you can use console version of Vim with a
|
||||||
capable terminal emulator.
|
capable terminal emulator.
|
||||||
|
|
||||||
Bug or Comment
|
Bug or Comment
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Get specific help: It is possible to go directly to whatever you want help
|
|||||||
help entries for "word".
|
help entries for "word".
|
||||||
Or use ":helpgrep word". |:helpgrep|
|
Or use ":helpgrep word". |:helpgrep|
|
||||||
|
|
||||||
VIM stands for Vi IMproved. Most of VIM was made by Bram Moolenaar, but only
|
Vim stands for Vi IMproved. Most of Vim was made by Bram Moolenaar, but only
|
||||||
through the help of many others. See |credits|.
|
through the help of many others. See |credits|.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*doc-file-list* *Q_ct*
|
*doc-file-list* *Q_ct*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_cscop.txt* For Vim version 8.0. Last change: 2011 Jun 12
|
*if_cscop.txt* For Vim version 8.0. Last change: 2017 Jun 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Andy Kahn
|
VIM REFERENCE MANUAL by Andy Kahn
|
||||||
@@ -91,9 +91,10 @@ suggested use.)
|
|||||||
2. Cscope related commands *cscope-commands*
|
2. Cscope related commands *cscope-commands*
|
||||||
|
|
||||||
*:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E561* *E560*
|
*:cscope* *:cs* *:scs* *:scscope* *E259* *E262* *E561* *E560*
|
||||||
All cscope commands are accessed through suboptions to the main cscope
|
All cscope commands are accessed through suboptions to the cscope commands.
|
||||||
command ":cscope". The shortest abbreviation is ":cs". The ":scscope"
|
`:cscope` or `:cs` is the main command
|
||||||
command does the same and also splits the window (short: "scs").
|
`:scscope` or `:scs` does the same and splits the window
|
||||||
|
`:lcscope` or `:lcs` uses the location list, see |:lcscope|
|
||||||
|
|
||||||
The available subcommands are:
|
The available subcommands are:
|
||||||
|
|
||||||
|
|||||||
@@ -41,9 +41,9 @@ instance), code similar to the following should be used:
|
|||||||
$vim = new Win32::OLE 'Vim.Application';
|
$vim = new Win32::OLE 'Vim.Application';
|
||||||
|
|
||||||
[C#] >
|
[C#] >
|
||||||
// Add a reference to VIM in your project.
|
// Add a reference to Vim in your project.
|
||||||
// Choose the COM tab.
|
// Choose the COM tab.
|
||||||
// Select "VIM Ole Interface 1.1 Type Library"
|
// Select "Vim Ole Interface 1.1 Type Library"
|
||||||
Vim.Vim vimobj = new Vim.Vim();
|
Vim.Vim vimobj = new Vim.Vim();
|
||||||
|
|
||||||
Vim does not support acting as a "hidden" OLE server, like some other OLE
|
Vim does not support acting as a "hidden" OLE server, like some other OLE
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
Perl and Vim *perl* *Perl*
|
Perl and Vim *perl* *Perl*
|
||||||
|
|
||||||
1. Editing Perl files |perl-editing|
|
1. Editing Perl files |perl-editing|
|
||||||
2. Compiling VIM with Perl interface |perl-compiling|
|
2. Compiling Vim with Perl interface |perl-compiling|
|
||||||
3. Using the Perl interface |perl-using|
|
3. Using the Perl interface |perl-using|
|
||||||
4. Dynamic loading |perl-dynamic|
|
4. Dynamic loading |perl-dynamic|
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ Vim in the $VIMRUNTIME/tools directory. This script has currently more
|
|||||||
features than Exuberant ctags' Perl support.
|
features than Exuberant ctags' Perl support.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Compiling VIM with Perl interface *perl-compiling*
|
2. Compiling Vim with Perl interface *perl-compiling*
|
||||||
|
|
||||||
To compile Vim with Perl interface, you need Perl 5.004 (or later). Perl must
|
To compile Vim with Perl interface, you need Perl 5.004 (or later). Perl must
|
||||||
be installed before you compile Vim. Vim's Perl interface does NOT work with
|
be installed before you compile Vim. Vim's Perl interface does NOT work with
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*index.txt* For Vim version 8.0. Last change: 2017 Apr 22
|
*index.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1573,6 +1573,7 @@ tag command action ~
|
|||||||
|:tcldo| :tcld[o] execute Tcl command for each line
|
|:tcldo| :tcld[o] execute Tcl command for each line
|
||||||
|:tclfile| :tclf[ile] execute Tcl script file
|
|:tclfile| :tclf[ile] execute Tcl script file
|
||||||
|:tearoff| :te[aroff] tear-off a menu
|
|:tearoff| :te[aroff] tear-off a menu
|
||||||
|
|:terminal| :ter[minal] open a terminal window
|
||||||
|:tfirst| :tf[irst] jump to first matching tag
|
|:tfirst| :tf[irst] jump to first matching tag
|
||||||
|:throw| :th[row] throw an exception
|
|:throw| :th[row] throw an exception
|
||||||
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 8.0. Last change: 2017 Apr 07
|
*insert.txt* For Vim version 8.0. Last change: 2017 May 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -634,13 +634,13 @@ Completion can be done for:
|
|||||||
10. User defined completion |i_CTRL-X_CTRL-U|
|
10. User defined completion |i_CTRL-X_CTRL-U|
|
||||||
11. omni completion |i_CTRL-X_CTRL-O|
|
11. omni completion |i_CTRL-X_CTRL-O|
|
||||||
12. Spelling suggestions |i_CTRL-X_s|
|
12. Spelling suggestions |i_CTRL-X_s|
|
||||||
13. keywords in 'complete' |i_CTRL-N|
|
13. keywords in 'complete' |i_CTRL-N| |i_CTRL-P|
|
||||||
|
|
||||||
All these (except 2) are done in CTRL-X mode. This is a sub-mode of Insert
|
All these, except CTRL-N and CTRL-P, are done in CTRL-X mode. This is a
|
||||||
and Replace modes. You enter CTRL-X mode by typing CTRL-X and one of the
|
sub-mode of Insert and Replace modes. You enter CTRL-X mode by typing CTRL-X
|
||||||
CTRL-X commands. You exit CTRL-X mode by typing a key that is not a valid
|
and one of the CTRL-X commands. You exit CTRL-X mode by typing a key that is
|
||||||
CTRL-X mode command. Valid keys are the CTRL-X command itself, CTRL-N (next),
|
not a valid CTRL-X mode command. Valid keys are the CTRL-X command itself,
|
||||||
and CTRL-P (previous).
|
CTRL-N (next), and CTRL-P (previous).
|
||||||
|
|
||||||
Also see the 'infercase' option if you want to adjust the case of the match.
|
Also see the 'infercase' option if you want to adjust the case of the match.
|
||||||
|
|
||||||
|
|||||||
@@ -84,8 +84,8 @@ The Vim pages contain the most recent information about Vim. They also
|
|||||||
contain links to the most recent version of Vim. The FAQ is a list of
|
contain links to the most recent version of Vim. The FAQ is a list of
|
||||||
Frequently Asked Questions. Read this if you have problems.
|
Frequently Asked Questions. Read this if you have problems.
|
||||||
|
|
||||||
VIM home page: http://www.vim.org/
|
Vim home page: http://www.vim.org/
|
||||||
VIM FAQ: http://vimdoc.sf.net/
|
Vim FAQ: http://vimdoc.sf.net/
|
||||||
Downloading: ftp://ftp.vim.org/pub/vim/MIRRORS
|
Downloading: ftp://ftp.vim.org/pub/vim/MIRRORS
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.0. Last change: 2017 Mar 10
|
*map.txt* For Vim version 8.0. Last change: 2017 May 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -185,7 +185,7 @@ that starts with ",". Then you need to type another character for Vim to know
|
|||||||
whether to use the "," mapping or the longer one. To avoid this add the
|
whether to use the "," mapping or the longer one. To avoid this add the
|
||||||
<nowait> argument. Then the mapping will be used when it matches, Vim does
|
<nowait> argument. Then the mapping will be used when it matches, Vim does
|
||||||
not wait for more characters to be typed. However, if the characters were
|
not wait for more characters to be typed. However, if the characters were
|
||||||
already type they are used.
|
already typed they are used.
|
||||||
|
|
||||||
*:map-<silent>* *:map-silent*
|
*:map-<silent>* *:map-silent*
|
||||||
To define a mapping which will not be echoed on the command line, add
|
To define a mapping which will not be echoed on the command line, add
|
||||||
@@ -798,7 +798,7 @@ Bear in mind that convert-meta has been reported to have troubles when used in
|
|||||||
UTF-8 locales. On terminals like xterm, the "metaSendsEscape" resource can be
|
UTF-8 locales. On terminals like xterm, the "metaSendsEscape" resource can be
|
||||||
toggled on the fly through the "Main Options" menu, by pressing Ctrl-LeftClick
|
toggled on the fly through the "Main Options" menu, by pressing Ctrl-LeftClick
|
||||||
on the terminal; that's a good last resource in case you want to send ESC when
|
on the terminal; that's a good last resource in case you want to send ESC when
|
||||||
using other applications but not when inside VIM.
|
using other applications but not when inside Vim.
|
||||||
|
|
||||||
|
|
||||||
1.11 MAPPING AN OPERATOR *:map-operator*
|
1.11 MAPPING AN OPERATOR *:map-operator*
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ In case you do not want the NetBeans interface you can disable it by
|
|||||||
uncommenting a line with "--disable-netbeans" in the Makefile.
|
uncommenting a line with "--disable-netbeans" in the Makefile.
|
||||||
|
|
||||||
Currently the NetBeans interface is supported by Vim running in a terminal and
|
Currently the NetBeans interface is supported by Vim running in a terminal and
|
||||||
by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
|
by gvim when it is run with one of the following GUIs: GTK, GNOME, Windows,
|
||||||
Athena and Motif.
|
Athena and Motif.
|
||||||
|
|
||||||
If Motif support is required the user must supply XPM libraries. See
|
If Motif support is required the user must supply XPM libraries. See
|
||||||
@@ -996,7 +996,7 @@ to "Vim". In the Expert tab make sure the "Vim Command" is correct.
|
|||||||
You should be careful if you change the "Vim Command". There are command
|
You should be careful if you change the "Vim Command". There are command
|
||||||
line options there which must be there for the connection to be properly
|
line options there which must be there for the connection to be properly
|
||||||
set up. You can change the command name but that's about it. If your gvim
|
set up. You can change the command name but that's about it. If your gvim
|
||||||
can be found by your $PATH then the VIM Command can start with "gvim". If
|
can be found by your $PATH then the Vim Command can start with "gvim". If
|
||||||
you don't want gvim searched from your $PATH then hard code in the full
|
you don't want gvim searched from your $PATH then hard code in the full
|
||||||
Unix path name. At this point you should get a gvim for any source file
|
Unix path name. At this point you should get a gvim for any source file
|
||||||
you open in NetBeans.
|
you open in NetBeans.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.0. Last change: 2017 Mar 22
|
*options.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -370,7 +370,7 @@ Note: In the future more global options can be made global-local. Using
|
|||||||
|
|
||||||
Setting the filetype
|
Setting the filetype
|
||||||
|
|
||||||
:setf[iletype] {filetype} *:setf* *:setfiletype*
|
:setf[iletype] [FALLBACK] {filetype} *:setf* *:setfiletype*
|
||||||
Set the 'filetype' option to {filetype}, but only if
|
Set the 'filetype' option to {filetype}, but only if
|
||||||
not done yet in a sequence of (nested) autocommands.
|
not done yet in a sequence of (nested) autocommands.
|
||||||
This is short for: >
|
This is short for: >
|
||||||
@@ -380,6 +380,13 @@ Setting the filetype
|
|||||||
< This command is used in a filetype.vim file to avoid
|
< This command is used in a filetype.vim file to avoid
|
||||||
setting the 'filetype' option twice, causing different
|
setting the 'filetype' option twice, causing different
|
||||||
settings and syntax files to be loaded.
|
settings and syntax files to be loaded.
|
||||||
|
|
||||||
|
When the optional FALLBACK argument is present, a
|
||||||
|
later :setfiletype command will override the
|
||||||
|
'filetype'. This is to used for filetype detections
|
||||||
|
that are just a guess. |did_filetype()| will return
|
||||||
|
false after this command.
|
||||||
|
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
*option-window* *optwin*
|
*option-window* *optwin*
|
||||||
@@ -862,6 +869,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
< Vim will guess the value. In the GUI this should work correctly,
|
< Vim will guess the value. In the GUI this should work correctly,
|
||||||
in other cases Vim might not be able to guess the right value.
|
in other cases Vim might not be able to guess the right value.
|
||||||
|
|
||||||
|
When the t_BG option is set, Vim will use it to request the background
|
||||||
|
color from the terminal. If the returned RGB value is dark/light and
|
||||||
|
'background' is not dark/light, 'background' will be set and the
|
||||||
|
screen is redrawn. This may have side effects, make t_BG empty in
|
||||||
|
your .vimrc if you suspect this problem.
|
||||||
|
|
||||||
When starting the GUI, the default value for 'background' will be
|
When starting the GUI, the default value for 'background' will be
|
||||||
"light". When the value is not set in the .gvimrc, and Vim detects
|
"light". When the value is not set in the .gvimrc, and Vim detects
|
||||||
that the background is actually quite dark, 'background' is set to
|
that the background is actually quite dark, 'background' is set to
|
||||||
@@ -2700,7 +2713,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Makes the 'g' and 'c' flags of the ":substitute" command to be
|
Makes the 'g' and 'c' flags of the ":substitute" command to be
|
||||||
toggled each time the flag is given. See |complex-change|. See
|
toggled each time the flag is given. See |complex-change|. See
|
||||||
also 'gdefault' option.
|
also 'gdefault' option.
|
||||||
Switching this option on is discouraged!
|
Switching this option on may break plugins!
|
||||||
|
|
||||||
*'emoji'* *'emo'* *'noemoji'* *'noemo'*
|
*'emoji'* *'emo'* *'noemoji'* *'noemo'*
|
||||||
'emoji' 'emo' boolean (default: on)
|
'emoji' 'emo' boolean (default: on)
|
||||||
@@ -3509,6 +3522,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
:s///gg subst. all subst. one
|
:s///gg subst. all subst. one
|
||||||
|
|
||||||
NOTE: This option is reset when 'compatible' is set.
|
NOTE: This option is reset when 'compatible' is set.
|
||||||
|
DEPRECATED: Setting this option may break plugins that are not aware
|
||||||
|
of this option. Also, many users get confused that adding the /g flag
|
||||||
|
has the opposite effect of that it normally does.
|
||||||
|
|
||||||
*'grepformat'* *'gfm'*
|
*'grepformat'* *'gfm'*
|
||||||
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
|
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
|
||||||
@@ -4024,7 +4040,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
D:DiffDelete,T:DiffText,>:SignColumn,
|
D:DiffDelete,T:DiffText,>:SignColumn,
|
||||||
B:SpellBad,P:SpellCap,R:SpellRare,
|
B:SpellBad,P:SpellCap,R:SpellRare,
|
||||||
L:SpellLocal,-:Conceal,+:Pmenu,=:PmenuSel,
|
L:SpellLocal,-:Conceal,+:Pmenu,=:PmenuSel,
|
||||||
x:PmenuSbar,X:PmenuThumb")
|
x:PmenuSbar,X:PmenuThumb,*:TabLine,
|
||||||
|
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
||||||
|
.:CursorLine,o:ColorColumn,q:QuickFixLine")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
This option can be used to set highlighting mode for various
|
This option can be used to set highlighting mode for various
|
||||||
@@ -4948,8 +4966,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
When on the plugin scripts are loaded when starting up |load-plugins|.
|
When on the plugin scripts are loaded when starting up |load-plugins|.
|
||||||
This option can be reset in your |vimrc| file to disable the loading
|
This option can be reset in your |vimrc| file to disable the loading
|
||||||
of plugins.
|
of plugins.
|
||||||
Note that using the "-u NONE" and "--noplugin" command line arguments
|
Note that using the "-u NONE", "-u DEFAULTS" and "--noplugin" command
|
||||||
reset this option. |-u| |--noplugin|
|
line arguments reset this option. See |-u| and |--noplugin|.
|
||||||
|
|
||||||
*'luadll'*
|
*'luadll'*
|
||||||
'luadll' string (default depends on the build)
|
'luadll' string (default depends on the build)
|
||||||
@@ -5927,10 +5945,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{only available when compiled with the |+reltime|
|
{only available when compiled with the |+reltime|
|
||||||
feature}
|
feature}
|
||||||
The time in milliseconds for redrawing the display. This applies to
|
The time in milliseconds for redrawing the display. This applies to
|
||||||
searching for patterns for 'hlsearch' and |:match| highlighting.
|
searching for patterns for 'hlsearch', |:match| highlighting an syntax
|
||||||
|
highlighting.
|
||||||
When redrawing takes more than this many milliseconds no further
|
When redrawing takes more than this many milliseconds no further
|
||||||
matches will be highlighted. This is used to avoid that Vim hangs
|
matches will be highlighted.
|
||||||
when using a very complicated pattern.
|
For syntax highlighting the time applies per window. When over the
|
||||||
|
limit syntax highlighting is disabled until |CTRL-L| is used.
|
||||||
|
This is used to avoid that Vim hangs when using a very complicated
|
||||||
|
pattern.
|
||||||
|
|
||||||
*'regexpengine'* *'re'*
|
*'regexpengine'* *'re'*
|
||||||
'regexpengine' 're' number (default 0)
|
'regexpengine' 're' number (default 0)
|
||||||
@@ -7308,7 +7330,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
Watch out for errors in expressions. They may render Vim unusable!
|
Watch out for errors in expressions. They may render Vim unusable!
|
||||||
If you are stuck, hold down ':' or 'Q' to get a prompt, then quit and
|
If you are stuck, hold down ':' or 'Q' to get a prompt, then quit and
|
||||||
edit your .vimrc or whatever with "vim -u NONE" to get it right.
|
edit your .vimrc or whatever with "vim --clean" to get it right.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
Emulate standard status line with 'ruler' set >
|
Emulate standard status line with 'ruler' set >
|
||||||
@@ -7729,8 +7751,29 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
compatible terminal.
|
compatible terminal.
|
||||||
If setting this option does not work (produces a colorless UI)
|
If setting this option does not work (produces a colorless UI)
|
||||||
reading |xterm-true-color| might help.
|
reading |xterm-true-color| might help.
|
||||||
|
Note that the "cterm" attributes are still used, not the "gui" ones.
|
||||||
NOTE: This option is reset when 'compatible' is set.
|
NOTE: This option is reset when 'compatible' is set.
|
||||||
|
|
||||||
|
*'termkey'* *'tk'*
|
||||||
|
'termkey' 'tk' string (default "CTRL-W")
|
||||||
|
local to window
|
||||||
|
{not in Vi}
|
||||||
|
The key that precedes a Vim command in a terminal window. Other keys
|
||||||
|
are sent to the job running in the window.
|
||||||
|
The string must be one key stroke.
|
||||||
|
NOT IMPLEMENTED YET
|
||||||
|
|
||||||
|
|
||||||
|
*'thesaurus'* *'tsr'*
|
||||||
|
'termsize' 'tms' string (default "")
|
||||||
|
local to window
|
||||||
|
{not in Vi}
|
||||||
|
Size of the |terminal| window. Format: {rows}x{columns}.
|
||||||
|
- When empty the terminal gets the size from the window.
|
||||||
|
- When set (e.g., "24x80") the terminal size is fixed. If the window
|
||||||
|
is smaller only the top-left part is displayed.
|
||||||
|
NOT IMPLEMENTED YET
|
||||||
|
|
||||||
*'terse'* *'noterse'*
|
*'terse'* *'noterse'*
|
||||||
'terse' boolean (default off)
|
'terse' boolean (default off)
|
||||||
global
|
global
|
||||||
@@ -8290,13 +8333,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not available when compiled without the |+viminfo|
|
{not available when compiled without the |+viminfo|
|
||||||
feature}
|
feature}
|
||||||
When non-empty, the viminfo file is read upon startup and written
|
When non-empty, the viminfo file is read upon startup and written
|
||||||
when exiting Vim (see |viminfo-file|). The string should be a comma
|
when exiting Vim (see |viminfo-file|). Except when 'viminfofile' is
|
||||||
separated list of parameters, each consisting of a single character
|
"NONE".
|
||||||
identifying the particular parameter, followed by a number or string
|
The string should be a comma separated list of parameters, each
|
||||||
which specifies the value of that parameter. If a particular
|
consisting of a single character identifying the particular parameter,
|
||||||
character is left out, then the default value is used for that
|
followed by a number or string which specifies the value of that
|
||||||
parameter. The following is a list of the identifying characters and
|
parameter. If a particular character is left out, then the default
|
||||||
the effect of their value.
|
value is used for that parameter. The following is a list of the
|
||||||
|
identifying characters and the effect of their value.
|
||||||
CHAR VALUE ~
|
CHAR VALUE ~
|
||||||
*viminfo-!*
|
*viminfo-!*
|
||||||
! When included, save and restore global variables that start
|
! When included, save and restore global variables that start
|
||||||
@@ -8356,9 +8400,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
has been used since the last search command.
|
has been used since the last search command.
|
||||||
*viminfo-n*
|
*viminfo-n*
|
||||||
n Name of the viminfo file. The name must immediately follow
|
n Name of the viminfo file. The name must immediately follow
|
||||||
the 'n'. Must be at the end of the option! If the "-i"
|
the 'n'. Must be at the end of the option! If the
|
||||||
argument was given when starting Vim, that file name overrides
|
'viminfofile' option is set, that file name overrides the one
|
||||||
the one given here with 'viminfo'. Environment variables are
|
given here with 'viminfo'. Environment variables are
|
||||||
expanded when opening the file, not when setting the option.
|
expanded when opening the file, not when setting the option.
|
||||||
*viminfo-r*
|
*viminfo-r*
|
||||||
r Removable media. The argument is a string (up to the next
|
r Removable media. The argument is a string (up to the next
|
||||||
@@ -8399,6 +8443,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
NOTE: This option is set to the Vim default value when 'compatible'
|
NOTE: This option is set to the Vim default value when 'compatible'
|
||||||
is reset.
|
is reset.
|
||||||
|
|
||||||
|
*'viminfofile'* *'vif'*
|
||||||
|
'viminfofile' 'vif' string (default: "")
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{not available when compiled without the |+viminfo|
|
||||||
|
feature}
|
||||||
|
When non-empty, overrides the file name used for viminfo.
|
||||||
|
When equal to "NONE" no viminfo file will be read or written.
|
||||||
|
This option can be set with the |-i| command line flag. The |--clean|
|
||||||
|
command line flag sets it to "NONE".
|
||||||
|
|
||||||
*'virtualedit'* *'ve'*
|
*'virtualedit'* *'ve'*
|
||||||
'virtualedit' 've' string (default "")
|
'virtualedit' 've' string (default "")
|
||||||
global
|
global
|
||||||
@@ -8432,14 +8487,27 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'visualbell' 'vb' boolean (default off)
|
'visualbell' 'vb' boolean (default off)
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Use visual bell instead of beeping. The terminal code to display the
|
Use a visual bell instead of beeping. The terminal code to display the
|
||||||
visual bell is given with 't_vb'. When no beep or flash is wanted,
|
visual bell is given with 't_vb'. When no beep or flash is wanted,
|
||||||
use ":set vb t_vb=".
|
use: >
|
||||||
Note: When the GUI starts, 't_vb' is reset to its default value. You
|
:set vb t_vb=
|
||||||
might want to set it again in your |gvimrc|.
|
< If you want a short flash, you can use this on many terminals: >
|
||||||
|
:set vb t_vb=[?5h$<100>[?5l
|
||||||
|
< Here $<100> specifies the time, you can use a smaller or bigger value
|
||||||
|
to get a shorter or longer flash.
|
||||||
|
|
||||||
|
Note: Vim will limit the bell to once per half a second. This avoids
|
||||||
|
having to wait for the flashing to finish when there are lots of
|
||||||
|
bells, e.g. on key repeat. This also happens without 'visualbell'
|
||||||
|
set.
|
||||||
|
|
||||||
In the GUI, 't_vb' defaults to "<Esc>|f", which inverts the display
|
In the GUI, 't_vb' defaults to "<Esc>|f", which inverts the display
|
||||||
for 20 msec. If you want to use a different time, use "<Esc>|40f",
|
for 20 msec. If you want to use a different time, use "<Esc>|40f",
|
||||||
where 40 is the time in msec.
|
where 40 is the time in msec.
|
||||||
|
|
||||||
|
Note: When the GUI starts, 't_vb' is reset to its default value. You
|
||||||
|
might want to set it again in your |gvimrc|.
|
||||||
|
|
||||||
Does not work on the Amiga, you always get a screen flash.
|
Does not work on the Amiga, you always get a screen flash.
|
||||||
Also see 'errorbells'.
|
Also see 'errorbells'.
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ The default value for $VIM is set at compile time and can be determined with >
|
|||||||
:version
|
:version
|
||||||
|
|
||||||
The normal value is /boot/home/config/share/vim. If you don't like it you can
|
The normal value is /boot/home/config/share/vim. If you don't like it you can
|
||||||
set the VIM environment variable to override this, or set 'helpfile' in your
|
set the Vim environment variable to override this, or set 'helpfile' in your
|
||||||
.vimrc: >
|
.vimrc: >
|
||||||
|
|
||||||
:if version >= 500
|
:if version >= 500
|
||||||
|
|||||||
@@ -539,7 +539,7 @@ More info under :help hardcopy
|
|||||||
|
|
||||||
8.10 Setting up the symbols
|
8.10 Setting up the symbols
|
||||||
|
|
||||||
When I use GVIM this way and press CTRL-Y in the parent terminal, gvim exits.
|
When I use gvim this way and press CTRL-Y in the parent terminal, gvim exits.
|
||||||
I now use a different symbol that seems to work OK and fixes the problem.
|
I now use a different symbol that seems to work OK and fixes the problem.
|
||||||
I suggest this instead: >
|
I suggest this instead: >
|
||||||
|
|
||||||
@@ -547,7 +547,7 @@ I suggest this instead: >
|
|||||||
|
|
||||||
The /INPUT=NLA0: separates the standard input of the gvim process from the
|
The /INPUT=NLA0: separates the standard input of the gvim process from the
|
||||||
parent terminal, to block signals from the parent window.
|
parent terminal, to block signals from the parent window.
|
||||||
Without the -GEOMETRY, the GVIM window size will be minimal and the menu
|
Without the -GEOMETRY, the gvim window size will be minimal and the menu
|
||||||
will be confused after a window-resize.
|
will be confused after a window-resize.
|
||||||
|
|
||||||
(Carlo Mekenkamp, Coen Engelbarts, Vim 6.0ac)
|
(Carlo Mekenkamp, Coen Engelbarts, Vim 6.0ac)
|
||||||
@@ -764,14 +764,14 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
|
|||||||
|
|
||||||
9. VMS related changes *vms-changes*
|
9. VMS related changes *vms-changes*
|
||||||
|
|
||||||
Version 7.4
|
Version 7.4
|
||||||
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
|
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
|
||||||
add _un_ at the beginning to keep the extension
|
add _un_ at the beginning to keep the extension
|
||||||
- correct swap file name wildcard handling
|
- correct swap file name wildcard handling
|
||||||
- handle iconv usage correctly
|
- handle iconv usage correctly
|
||||||
- do not optimize on vax - otherwise it hangs compiling crypto files
|
- do not optimize on vax - otherwise it hangs compiling crypto files
|
||||||
- fileio.c fix the comment
|
- fileio.c fix the comment
|
||||||
- correct RealWaitForChar
|
- correct RealWaitForChar
|
||||||
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
|
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
|
||||||
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
|
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
|
||||||
- guard against crashes that are caused by mixed filenames
|
- guard against crashes that are caused by mixed filenames
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ you will need to get a version older than that.
|
|||||||
6. Running under Windows 3.1 *win32-win3.1*
|
6. Running under Windows 3.1 *win32-win3.1*
|
||||||
|
|
||||||
*win32s* *windows-3.1* *gui-w32s*
|
*win32s* *windows-3.1* *gui-w32s*
|
||||||
There was a special version of Gvim that runs under Windows 3.1 and 3.11.
|
There was a special version of gvim that runs under Windows 3.1 and 3.11.
|
||||||
Support was removed in patch 7.4.1363.
|
Support was removed in patch 7.4.1363.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pattern.txt* For Vim version 8.0. Last change: 2017 Mar 29
|
*pattern.txt* For Vim version 8.0. Last change: 2017 Jun 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1076,12 +1076,16 @@ x A single character, with no special meaning, matches itself
|
|||||||
":s/[/x/" searches for "[/x" and replaces it with nothing. It does
|
":s/[/x/" searches for "[/x" and replaces it with nothing. It does
|
||||||
not search for "[" and replaces it with "x"!
|
not search for "[" and replaces it with "x"!
|
||||||
|
|
||||||
|
*E944* *E945*
|
||||||
If the sequence begins with "^", it matches any single character NOT
|
If the sequence begins with "^", it matches any single character NOT
|
||||||
in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
|
in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
|
||||||
- If two characters in the sequence are separated by '-', this is
|
- If two characters in the sequence are separated by '-', this is
|
||||||
shorthand for the full list of ASCII characters between them. E.g.,
|
shorthand for the full list of ASCII characters between them. E.g.,
|
||||||
"[0-9]" matches any decimal digit. Non-ASCII characters can be
|
"[0-9]" matches any decimal digit. If the starting character exceeds
|
||||||
used, but the character values must not be more than 256 apart.
|
the ending character, e.g. [c-a], E944 occurs. Non-ASCII characters
|
||||||
|
can be used, but the character values must not be more than 256 apart
|
||||||
|
in the old regexp engine. For example, searching by [\u3000-\u4000]
|
||||||
|
after setting re=1 emits a E945 error. Prepending \%#=2 will fix it.
|
||||||
- A character class expression is evaluated to the set of characters
|
- A character class expression is evaluated to the set of characters
|
||||||
belonging to that character class. The following character classes
|
belonging to that character class. The following character classes
|
||||||
are supported:
|
are supported:
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ Copyright: (c) 2004-2012 by Charles E. Campbell *glvs-copyright*
|
|||||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||||
package, including getscriptPlugin.vim, getscript.vim,
|
package, including getscriptPlugin.vim, getscript.vim,
|
||||||
GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
|
GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
|
||||||
instead of "VIM". Like anything else that's free, getscript and its
|
instead of "Vim". Like anything else that's free, getscript and its
|
||||||
associated files are provided *as is* and comes with no warranty of
|
associated files are provided *as is* and comes with no warranty of
|
||||||
any kind, either expressed or implied. No guarantees of
|
any kind, either expressed or implied. No guarantees of
|
||||||
merchantability. No guarantees of suitability for any purpose. By
|
merchantability. No guarantees of suitability for any purpose. By
|
||||||
@@ -68,7 +68,7 @@ Your computer needs to have wget or curl for GetLatestVimScripts to do its work.
|
|||||||
mv GetLatestVimScripts.dist GetLatestVimScripts.dat
|
mv GetLatestVimScripts.dist GetLatestVimScripts.dat
|
||||||
(edit GetLatestVimScripts.dat to install your own personal
|
(edit GetLatestVimScripts.dat to install your own personal
|
||||||
list of desired plugins -- see |GetLatestVimScripts_dat|)
|
list of desired plugins -- see |GetLatestVimScripts_dat|)
|
||||||
|
|
||||||
3. Windows:
|
3. Windows:
|
||||||
vim getscript.vba
|
vim getscript.vba
|
||||||
:so %
|
:so %
|
||||||
|
|||||||
@@ -99,25 +99,25 @@ If the option is empty, then vim will use the system default printer for
|
|||||||
HPUX: hp-roman8,
|
HPUX: hp-roman8,
|
||||||
EBCDIC: ebcdic-uk)
|
EBCDIC: ebcdic-uk)
|
||||||
global
|
global
|
||||||
Sets the character encoding used when printing. This option tells VIM which
|
Sets the character encoding used when printing. This option tells Vim which
|
||||||
print character encoding file from the "print" directory in 'runtimepath' to
|
print character encoding file from the "print" directory in 'runtimepath' to
|
||||||
use.
|
use.
|
||||||
|
|
||||||
This option will accept any value from |encoding-names|. Any recognized names
|
This option will accept any value from |encoding-names|. Any recognized names
|
||||||
are converted to VIM standard names - see 'encoding' for more details. Names
|
are converted to Vim standard names - see 'encoding' for more details. Names
|
||||||
not recognized by VIM will just be converted to lower case and underscores
|
not recognized by Vim will just be converted to lower case and underscores
|
||||||
replaced with '-' signs.
|
replaced with '-' signs.
|
||||||
|
|
||||||
If 'printencoding' is empty or VIM cannot find the file then it will use
|
If 'printencoding' is empty or Vim cannot find the file then it will use
|
||||||
'encoding' (if VIM is compiled with |+multi_byte| and it is set an 8-bit
|
'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit
|
||||||
encoding) to find the print character encoding file. If VIM is unable to find
|
encoding) to find the print character encoding file. If Vim is unable to find
|
||||||
a character encoding file then it will use the "latin1" print character
|
a character encoding file then it will use the "latin1" print character
|
||||||
encoding file.
|
encoding file.
|
||||||
|
|
||||||
When 'encoding' is set to a multi-byte encoding, VIM will try to convert
|
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
|
||||||
characters to the printing encoding for printing (if 'printencoding' is empty
|
characters to the printing encoding for printing (if 'printencoding' is empty
|
||||||
then the conversion will be to latin1). Conversion to a printing encoding
|
then the conversion will be to latin1). Conversion to a printing encoding
|
||||||
other than latin1 will require VIM to be compiled with the |+iconv| feature.
|
other than latin1 will require Vim to be compiled with the |+iconv| feature.
|
||||||
If no conversion is possible then printing will fail. Any characters that
|
If no conversion is possible then printing will fail. Any characters that
|
||||||
cannot be converted will be replaced with upside down question marks.
|
cannot be converted will be replaced with upside down question marks.
|
||||||
|
|
||||||
@@ -203,7 +203,7 @@ header is used when this option is empty.
|
|||||||
'printmbcharset' 'pmbcs' string (default "")
|
'printmbcharset' 'pmbcs' string (default "")
|
||||||
global
|
global
|
||||||
Sets the CJK character set to be used when generating CJK output from
|
Sets the CJK character set to be used when generating CJK output from
|
||||||
|:hardcopy|. The following predefined values are currently recognised by VIM:
|
|:hardcopy|. The following predefined values are currently recognised by Vim:
|
||||||
|
|
||||||
Value Description ~
|
Value Description ~
|
||||||
Chinese GB_2312-80
|
Chinese GB_2312-80
|
||||||
@@ -270,7 +270,7 @@ Japanese text you would do the following; >
|
|||||||
|
|
||||||
If 'printmbcharset' is not one of the above values then it is assumed to
|
If 'printmbcharset' is not one of the above values then it is assumed to
|
||||||
specify a custom multi-byte character set and no check will be made that it is
|
specify a custom multi-byte character set and no check will be made that it is
|
||||||
compatible with the value for 'printencoding'. VIM will look for a file
|
compatible with the value for 'printencoding'. Vim will look for a file
|
||||||
defining the character set in the "print" directory in 'runtimepath'.
|
defining the character set in the "print" directory in 'runtimepath'.
|
||||||
|
|
||||||
*pmbfn-option*
|
*pmbfn-option*
|
||||||
@@ -420,10 +420,10 @@ There are currently a number of limitations with PostScript printing:
|
|||||||
possible to get all the characters in an encoding to print by installing a
|
possible to get all the characters in an encoding to print by installing a
|
||||||
new version of the Courier font family.
|
new version of the Courier font family.
|
||||||
|
|
||||||
- Multi-byte support - Currently VIM will try to convert multi-byte characters
|
- Multi-byte support - Currently Vim will try to convert multi-byte characters
|
||||||
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
|
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
|
||||||
empty). Any characters that are not successfully converted are shown as
|
empty). Any characters that are not successfully converted are shown as
|
||||||
unknown characters. Printing will fail if VIM cannot convert the multi-byte
|
unknown characters. Printing will fail if Vim cannot convert the multi-byte
|
||||||
to the 8-bit encoding.
|
to the 8-bit encoding.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
@@ -434,11 +434,11 @@ you need to define your own PostScript font encoding vector. Details on how
|
|||||||
to define a font encoding vector is beyond the scope of this help file, but
|
to define a font encoding vector is beyond the scope of this help file, but
|
||||||
you can find details in the PostScript Language Reference Manual, 3rd Edition,
|
you can find details in the PostScript Language Reference Manual, 3rd Edition,
|
||||||
published by Addison-Wesley and available in PDF form at
|
published by Addison-Wesley and available in PDF form at
|
||||||
http://www.adobe.com/. The following describes what you need to do for VIM to
|
http://www.adobe.com/. The following describes what you need to do for Vim to
|
||||||
locate and use your print character encoding.
|
locate and use your print character encoding.
|
||||||
|
|
||||||
i. Decide on a unique name for your encoding vector, one that does not clash
|
i. Decide on a unique name for your encoding vector, one that does not clash
|
||||||
with any of the recognized or standard encoding names that VIM uses (see
|
with any of the recognized or standard encoding names that Vim uses (see
|
||||||
|encoding-names| for a list), and that no one else is likely to use.
|
|encoding-names| for a list), and that no one else is likely to use.
|
||||||
ii. Copy $VIMRUNTIME/print/latin1.ps to the print subdirectory in your
|
ii. Copy $VIMRUNTIME/print/latin1.ps to the print subdirectory in your
|
||||||
'runtimepath' and rename it with your unique name.
|
'runtimepath' and rename it with your unique name.
|
||||||
@@ -446,23 +446,23 @@ iii. Edit your renamed copy of latin1.ps, replacing all occurrences of latin1
|
|||||||
with your unique name (don't forget the line starting %%Title:), and
|
with your unique name (don't forget the line starting %%Title:), and
|
||||||
modify the array of glyph names to define your new encoding vector. The
|
modify the array of glyph names to define your new encoding vector. The
|
||||||
array must have exactly 256 entries or you will not be able to print!
|
array must have exactly 256 entries or you will not be able to print!
|
||||||
iv. Within VIM, set 'printencoding' to your unique encoding name and then
|
iv. Within Vim, set 'printencoding' to your unique encoding name and then
|
||||||
print your file. VIM will now use your custom print character encoding.
|
print your file. Vim will now use your custom print character encoding.
|
||||||
|
|
||||||
VIM will report an error with the resource file if you change the order or
|
Vim will report an error with the resource file if you change the order or
|
||||||
content of the first 3 lines, other than the name of the encoding on the line
|
content of the first 3 lines, other than the name of the encoding on the line
|
||||||
starting %%Title: or the version number on the line starting %%Version:.
|
starting %%Title: or the version number on the line starting %%Version:.
|
||||||
|
|
||||||
[Technical explanation for those that know PostScript - VIM looks for a file
|
[Technical explanation for those that know PostScript - Vim looks for a file
|
||||||
with the same name as the encoding it will use when printing. The file
|
with the same name as the encoding it will use when printing. The file
|
||||||
defines a new PostScript Encoding resource called /VIM-name, where name is the
|
defines a new PostScript Encoding resource called /VIM-name, where name is the
|
||||||
print character encoding VIM will use.]
|
print character encoding Vim will use.]
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
5. PostScript CJK Printing *postscript-cjk-printing*
|
5. PostScript CJK Printing *postscript-cjk-printing*
|
||||||
*E673* *E674* *E675*
|
*E673* *E674* *E675*
|
||||||
|
|
||||||
VIM supports printing of Chinese, Japanese, and Korean files. Setting up VIM
|
Vim supports printing of Chinese, Japanese, and Korean files. Setting up Vim
|
||||||
to correctly print CJK files requires setting up a few more options.
|
to correctly print CJK files requires setting up a few more options.
|
||||||
|
|
||||||
Each of these countries has many standard character sets and encodings which
|
Each of these countries has many standard character sets and encodings which
|
||||||
@@ -483,7 +483,7 @@ option allows you to specify different fonts to use when printing characters
|
|||||||
which are syntax highlighted with the font styles normal, italic, bold and
|
which are syntax highlighted with the font styles normal, italic, bold and
|
||||||
bold-italic.
|
bold-italic.
|
||||||
|
|
||||||
No CJK fonts are supplied with VIM. There are some free Korean, Japanese, and
|
No CJK fonts are supplied with Vim. There are some free Korean, Japanese, and
|
||||||
Traditional Chinese fonts available at:
|
Traditional Chinese fonts available at:
|
||||||
|
|
||||||
http://examples.oreilly.com/cjkvinfo/adobe/samples/
|
http://examples.oreilly.com/cjkvinfo/adobe/samples/
|
||||||
@@ -498,7 +498,7 @@ CJK fonts can be large containing several thousand glyphs, and it is not
|
|||||||
uncommon to find that they only contain a subset of a national standard. It
|
uncommon to find that they only contain a subset of a national standard. It
|
||||||
is not unusual to find the fonts to not include characters for codes in the
|
is not unusual to find the fonts to not include characters for codes in the
|
||||||
ASCII code range. If you find half-width Roman characters are not appearing
|
ASCII code range. If you find half-width Roman characters are not appearing
|
||||||
in your printout then you should configure VIM to use the Courier font the
|
in your printout then you should configure Vim to use the Courier font the
|
||||||
half-width ASCII characters with 'printmbfont'. If your font does not include
|
half-width ASCII characters with 'printmbfont'. If your font does not include
|
||||||
other characters then you will need to find another font that does.
|
other characters then you will need to find another font that does.
|
||||||
|
|
||||||
@@ -506,7 +506,7 @@ Another issue with ASCII characters, is that the various national character
|
|||||||
sets specify a couple of different glyphs in the ASCII code range. If you
|
sets specify a couple of different glyphs in the ASCII code range. If you
|
||||||
print ASCII text using the national character set you may see some unexpected
|
print ASCII text using the national character set you may see some unexpected
|
||||||
characters. If you want true ASCII code printing then you need to configure
|
characters. If you want true ASCII code printing then you need to configure
|
||||||
VIM to output ASCII characters for the ASCII code range with 'printmbfont'.
|
Vim to output ASCII characters for the ASCII code range with 'printmbfont'.
|
||||||
|
|
||||||
It is possible to define your own multi-byte character set although this
|
It is possible to define your own multi-byte character set although this
|
||||||
should not be attempted lightly. A discussion on the process if beyond the
|
should not be attempted lightly. A discussion on the process if beyond the
|
||||||
@@ -525,13 +525,13 @@ print job completing.
|
|||||||
There are a number of possible causes as to why the printing may have failed:
|
There are a number of possible causes as to why the printing may have failed:
|
||||||
|
|
||||||
- Wrong version of the prolog resource file. The prolog resource file
|
- Wrong version of the prolog resource file. The prolog resource file
|
||||||
contains some PostScript that VIM needs to be able to print. Each version
|
contains some PostScript that Vim needs to be able to print. Each version
|
||||||
of VIM needs one particular version. Make sure you have correctly installed
|
of Vim needs one particular version. Make sure you have correctly installed
|
||||||
the runtime files, and don't have any old versions of a file called prolog
|
the runtime files, and don't have any old versions of a file called prolog
|
||||||
in the print directory in your 'runtimepath' directory.
|
in the print directory in your 'runtimepath' directory.
|
||||||
|
|
||||||
- Paper size. Some PostScript printers will abort printing a file if they do
|
- Paper size. Some PostScript printers will abort printing a file if they do
|
||||||
not support the requested paper size. By default VIM uses A4 paper. Find
|
not support the requested paper size. By default Vim uses A4 paper. Find
|
||||||
out what size paper your printer normally uses and set the appropriate paper
|
out what size paper your printer normally uses and set the appropriate paper
|
||||||
size with 'printoptions'. If you cannot find the name of the paper used,
|
size with 'printoptions'. If you cannot find the name of the paper used,
|
||||||
measure a sheet and compare it with the table of supported paper sizes listed
|
measure a sheet and compare it with the table of supported paper sizes listed
|
||||||
@@ -668,7 +668,7 @@ complex print document creation.
|
|||||||
|
|
||||||
N-UP PRINTING
|
N-UP PRINTING
|
||||||
|
|
||||||
The psnup utility takes an existing PostScript file generated from VIM and
|
The psnup utility takes an existing PostScript file generated from Vim and
|
||||||
convert it to an n-up version. The simplest way to create a 2-up printout is
|
convert it to an n-up version. The simplest way to create a 2-up printout is
|
||||||
to first create a PostScript file with: >
|
to first create a PostScript file with: >
|
||||||
|
|
||||||
@@ -724,16 +724,16 @@ There are a couple of points to bear in mind:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
8. Formfeed Characters *printing-formfeed*
|
8. Formfeed Characters *printing-formfeed*
|
||||||
|
|
||||||
By default VIM does not do any special processing of |formfeed| control
|
By default Vim does not do any special processing of |formfeed| control
|
||||||
characters. Setting the 'printoptions' formfeed item will make VIM recognize
|
characters. Setting the 'printoptions' formfeed item will make Vim recognize
|
||||||
formfeed characters and continue printing the current line at the beginning
|
formfeed characters and continue printing the current line at the beginning
|
||||||
of the first line on a new page. The use of formfeed characters provides
|
of the first line on a new page. The use of formfeed characters provides
|
||||||
rudimentary print control but there are certain things to be aware of.
|
rudimentary print control but there are certain things to be aware of.
|
||||||
|
|
||||||
VIM will always start printing a line (including a line number if enabled)
|
Vim will always start printing a line (including a line number if enabled)
|
||||||
containing a formfeed character, even if it is the first character on the
|
containing a formfeed character, even if it is the first character on the
|
||||||
line. This means if a line starting with a formfeed character is the first
|
line. This means if a line starting with a formfeed character is the first
|
||||||
line of a page then VIM will print a blank page.
|
line of a page then Vim will print a blank page.
|
||||||
|
|
||||||
Since the line number is printed at the start of printing the line containing
|
Since the line number is printed at the start of printing the line containing
|
||||||
the formfeed character, the remainder of the line printed on the new page
|
the formfeed character, the remainder of the line printed on the new page
|
||||||
@@ -742,7 +742,7 @@ lines of a long line when wrap in 'printoptions' is enabled).
|
|||||||
|
|
||||||
If the formfeed character is the last character on a line, then printing will
|
If the formfeed character is the last character on a line, then printing will
|
||||||
continue on the second line of the new page, not the first. This is due to
|
continue on the second line of the new page, not the first. This is due to
|
||||||
VIM processing the end of the line after the formfeed character and moving
|
Vim processing the end of the line after the formfeed character and moving
|
||||||
down a line to continue printing.
|
down a line to continue printing.
|
||||||
|
|
||||||
Due to the points made above it is recommended that when formfeed character
|
Due to the points made above it is recommended that when formfeed character
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickfix.txt* For Vim version 8.0. Last change: 2017 Mar 06
|
*quickfix.txt* For Vim version 8.0. Last change: 2017 Jun 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -425,7 +425,9 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
which will indicate the command that produced the
|
which will indicate the command that produced the
|
||||||
quickfix list. This can be used to compose a custom
|
quickfix list. This can be used to compose a custom
|
||||||
status line if the value of 'statusline' is adjusted
|
status line if the value of 'statusline' is adjusted
|
||||||
properly.
|
properly. Whenever this buffer is modified by a
|
||||||
|
quickfix command or function, the |b:changedtick|
|
||||||
|
variable is incremented.
|
||||||
|
|
||||||
*:lop* *:lopen*
|
*:lop* *:lopen*
|
||||||
:lop[en] [height] Open a window to show the location list for the
|
:lop[en] [height] Open a window to show the location list for the
|
||||||
@@ -472,7 +474,11 @@ keep its height, ignoring 'winheight' and 'equalalways'. You can change the
|
|||||||
height manually (e.g., by dragging the status line above it with the mouse).
|
height manually (e.g., by dragging the status line above it with the mouse).
|
||||||
|
|
||||||
In the quickfix window, each line is one error. The line number is equal to
|
In the quickfix window, each line is one error. The line number is equal to
|
||||||
the error number. You can use ":.cc" to jump to the error under the cursor.
|
the error number. The current entry is highlighted with the QuickFixLine
|
||||||
|
highlighting. You can change it to your liking, e.g.: >
|
||||||
|
:hi QuickFixLine ctermbg=Yellow guibg=Yellow
|
||||||
|
|
||||||
|
You can use ":.cc" to jump to the error under the cursor.
|
||||||
Hitting the <Enter> key or double-clicking the mouse on a line has the same
|
Hitting the <Enter> key or double-clicking the mouse on a line has the same
|
||||||
effect. The file containing the error is opened in the window above the
|
effect. The file containing the error is opened in the window above the
|
||||||
quickfix window. If there already is a window for that file, it is used
|
quickfix window. If there already is a window for that file, it is used
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 8.0. Last change: 2016 Dec 16
|
*quickref.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -920,6 +920,8 @@ Short explanation of each option: *option-list*
|
|||||||
'termbidi' 'tbidi' terminal takes care of bi-directionality
|
'termbidi' 'tbidi' terminal takes care of bi-directionality
|
||||||
'termencoding' 'tenc' character encoding used by the terminal
|
'termencoding' 'tenc' character encoding used by the terminal
|
||||||
'termguicolors' 'tgc' use GUI colors for the terminal
|
'termguicolors' 'tgc' use GUI colors for the terminal
|
||||||
|
'termkey' 'tk' key that precedes a Vim command in a terminal
|
||||||
|
'termsize' 'tms' size of a terminal window
|
||||||
'terse' shorten some messages
|
'terse' shorten some messages
|
||||||
'textauto' 'ta' obsolete, use 'fileformats'
|
'textauto' 'ta' obsolete, use 'fileformats'
|
||||||
'textmode' 'tx' obsolete, use 'fileformat'
|
'textmode' 'tx' obsolete, use 'fileformat'
|
||||||
@@ -1309,6 +1311,7 @@ Context-sensitive completion on the command-line:
|
|||||||
|
|
||||||
|:sfind| :sf[ind] {file} split window, find {file} in 'path'
|
|:sfind| :sf[ind] {file} split window, find {file} in 'path'
|
||||||
and edit it
|
and edit it
|
||||||
|
|:terminal| :terminal {cmd} open a terminal window
|
||||||
|CTRL-W_]| CTRL-W ] split window and jump to tag under
|
|CTRL-W_]| CTRL-W ] split window and jump to tag under
|
||||||
cursor
|
cursor
|
||||||
|CTRL-W_f| CTRL-W f split window and edit file name under
|
|CTRL-W_f| CTRL-W f split window and edit file name under
|
||||||
|
|||||||
@@ -63,53 +63,53 @@ versions of 'emacs' in the late 1970's and was relieved by finding 'vi' in the
|
|||||||
first UNIX I came across in 1983). In my opinion, it's about time 'VIM'
|
first UNIX I came across in 1983). In my opinion, it's about time 'VIM'
|
||||||
replace 'emacs' as the standard for top editors. (Bo Thide', Sweden)
|
replace 'emacs' as the standard for top editors. (Bo Thide', Sweden)
|
||||||
|
|
||||||
I love and use VIM heavily too. (Larry Wall)
|
I love and use Vim heavily too. (Larry Wall)
|
||||||
|
|
||||||
Vi is like a Ferrari, if you're a beginner, it handles like a bitch, but once
|
Vi is like a Ferrari, if you're a beginner, it handles like a bitch, but once
|
||||||
you get the hang of it, it's small, powerful and FAST! (Unknown)
|
you get the hang of it, it's small, powerful and FAST! (Unknown)
|
||||||
VIM is like a new model Ferrari, and sounds like one too - "VIIIIIIMMM!"
|
Vim is like a new model Ferrari, and sounds like one too - "VIIIIIIMMM!"
|
||||||
(Stephen Riehm, Germany)
|
(Stephen Riehm, Germany)
|
||||||
|
|
||||||
Schon bei Nutzung eines Bruchteils der VIM-Funktionen wird der Benutzer recht
|
Schon bei Nutzung eines Bruchteils der Vim-Funktionen wird der Benutzer recht
|
||||||
schnell die Vorzuege dieses Editors kennen- und schaetzenlernen.
|
schnell die Vorzuege dieses Editors kennen- und schaetzenlernen.
|
||||||
Translated: Even when only using a fraction of VIM-functions, the user will
|
Translated: Even when only using a fraction of Vim-functions, the user will
|
||||||
quickly get used to and appreciate the advantages of this editor. (Garry
|
quickly get used to and appreciate the advantages of this editor. (Garry
|
||||||
Glendown, conclusion of an article on VIM in iX magazine 9/1998)
|
Glendown, conclusion of an article on Vim in iX magazine 9/1998)
|
||||||
|
|
||||||
I've recently acquired the O'Reilly book on VI (it also discusses VIM
|
I've recently acquired the O'Reilly book on Vi (it also discusses Vim
|
||||||
in-depth), and I'm amazed at just how powerful this application is. (Jeffrey
|
in-depth), and I'm amazed at just how powerful this application is. (Jeffrey
|
||||||
Rankin)
|
Rankin)
|
||||||
|
|
||||||
This guide was written using the Windows 9.x distribution of GVIM, which is
|
This guide was written using the Windows 9.x distribution of gvim, which is
|
||||||
quite possibly the greatest thing to come along since God created the naked
|
quite possibly the greatest thing to come along since God created the naked
|
||||||
girl. (Michael DiBernardo)
|
girl. (Michael DiBernardo)
|
||||||
|
|
||||||
Boy, I thought I knew almost everything about VIM, but every time I browse the
|
Boy, I thought I knew almost everything about Vim, but every time I browse the
|
||||||
online documentation, I hit upon a minor but cool aspect of a VIM feature that
|
online documentation, I hit upon a minor but cool aspect of a Vim feature that
|
||||||
I didn't know before! I must say the documentation is one the finest I've
|
I didn't know before! I must say the documentation is one the finest I've
|
||||||
ever seen in a product -- even better than most commercial products.
|
ever seen in a product -- even better than most commercial products.
|
||||||
(Gautam Mudunuri)
|
(Gautam Mudunuri)
|
||||||
|
|
||||||
VIM 4.5 is really a fantastic editor. It has sooooo many features and more
|
Vim 4.5 is really a fantastic editor. It has sooooo many features and more
|
||||||
importantly, the defaults are so well thought out that you really don't have
|
importantly, the defaults are so well thought out that you really don't have
|
||||||
to change anything!! Words cannot express my amazement and gratitude to the
|
to change anything!! Words cannot express my amazement and gratitude to the
|
||||||
creators of VIM. Keep it up. (Vikas, USA)
|
creators of Vim. Keep it up. (Vikas, USA)
|
||||||
|
|
||||||
I wonder how long it will be before people will refer to other Vi editors as
|
I wonder how long it will be before people will refer to other Vi editors as
|
||||||
VIM clones? (Darren Hiebert)
|
Vim clones? (Darren Hiebert)
|
||||||
|
|
||||||
I read about [auto-positioning-in-file-based-on-the-errors-from-make] in one
|
I read about [auto-positioning-in-file-based-on-the-errors-from-make] in one
|
||||||
of those "Perfect Programmer's Editor" threads and was delighted to discover
|
of those "Perfect Programmer's Editor" threads and was delighted to discover
|
||||||
that VIM already supports it. (Brendan Macmillan, Australia)
|
that Vim already supports it. (Brendan Macmillan, Australia)
|
||||||
|
|
||||||
I just discovered VIM (5.0) and I'm telling everyone I know about it!
|
I just discovered Vim (5.0) and I'm telling everyone I know about it!
|
||||||
I tell them VIM stands for VI for the new (M)illenium. Thanks so much!
|
I tell them Vim stands for Vi for the new (M)illenium. Thanks so much!
|
||||||
(Matt F. Valentine)
|
(Matt F. Valentine)
|
||||||
|
|
||||||
I think from now on "vi" should be called "Vim Imitation", not the other way
|
I think from now on "vi" should be called "Vim Imitation", not the other way
|
||||||
around. (Rungun Ramanathan)
|
around. (Rungun Ramanathan)
|
||||||
|
|
||||||
The Law of VIM:
|
The Law of Vim:
|
||||||
For each member b of the possible behaviour space B of program P, there exists
|
For each member b of the possible behaviour space B of program P, there exists
|
||||||
a finite time t before which at least one user u in the total user space U of
|
a finite time t before which at least one user u in the total user space U of
|
||||||
program P will request b becomes a member of the allowed behaviour space B'
|
program P will request b becomes a member of the allowed behaviour space B'
|
||||||
@@ -118,42 +118,42 @@ In other words: Sooner or later everyone wants everything as an option.
|
|||||||
(Negri)
|
(Negri)
|
||||||
|
|
||||||
Whenever I move to a new computing platform, the first thing I do is to port
|
Whenever I move to a new computing platform, the first thing I do is to port
|
||||||
VIM. Lately, I am simply stunned by its ease of compilation using the
|
Vim. Lately, I am simply stunned by its ease of compilation using the
|
||||||
configure facility. (A.M. Sabuncu, Turkey)
|
configure facility. (A.M. Sabuncu, Turkey)
|
||||||
|
|
||||||
The options are really excellent and very powerful. (Anish Maharaj)
|
The options are really excellent and very powerful. (Anish Maharaj)
|
||||||
|
|
||||||
The Spring user-interface designs are in, and word from the boutiques is that
|
The Spring user-interface designs are in, and word from the boutiques is that
|
||||||
80x24 text-only mode is back with a *vengeance! Vi editor clone VIM burst onto
|
80x24 text-only mode is back with a *vengeance! Vi editor clone Vim burst onto
|
||||||
March desk-tops with a dazzling show of pastel syntax highlights for its 5.0
|
March desk-tops with a dazzling show of pastel syntax highlights for its 5.0
|
||||||
look. Strident and customizable, VIM raises eyebrows with its interpretation
|
look. Strident and customizable, Vim raises eyebrows with its interpretation
|
||||||
of the classic Vi single-key macro collection.
|
of the classic Vi single-key macro collection.
|
||||||
http://www.ntk.net/index.cgi?back=archive98/now0327.txt&line=179#l
|
http://www.ntk.net/index.cgi?back=archive98/now0327.txt&line=179#l
|
||||||
|
|
||||||
I just wanted to take this opportunity to let you know that VIM 5 ROCKS!
|
I just wanted to take this opportunity to let you know that Vim 5 ROCKS!
|
||||||
Syntax highlighting: how did I survive without it?! Thank you for creating
|
Syntax highlighting: how did I survive without it?! Thank you for creating
|
||||||
mankind's best editor! (Mun Johl, USA)
|
mankind's best editor! (Mun Johl, USA)
|
||||||
|
|
||||||
Thanks again for VIM. I use it every day on Linux. (Eric Foster-Johnson,
|
Thanks again for Vim. I use it every day on Linux. (Eric Foster-Johnson,
|
||||||
author of the book "UNIX Programming Tools")
|
author of the book "UNIX Programming Tools")
|
||||||
|
|
||||||
The BEST EDITOR EVER (Stuart Woolford)
|
The BEST EDITOR EVER (Stuart Woolford)
|
||||||
|
|
||||||
I have used most of VIM's fancy features at least once, many frequently, and I
|
I have used most of Vim's fancy features at least once, many frequently, and I
|
||||||
can honestly say that I couldn't live with anything less anymore. My
|
can honestly say that I couldn't live with anything less anymore. My
|
||||||
productivity has easily doubled compared to what it was when I used vi.
|
productivity has easily doubled compared to what it was when I used vi.
|
||||||
(Sitaram Chamarty)
|
(Sitaram Chamarty)
|
||||||
|
|
||||||
I luv VIM. It is incredible. I'm naming my first-born Vimberly. (Jose
|
I luv Vim. It is incredible. I'm naming my first-born Vimberly. (Jose
|
||||||
Unpingco, USA)
|
Unpingco, USA)
|
||||||
|
|
||||||
Hint: "VIM" is "vi improved" - much better! (Sven Guckes, Germany)
|
Hint: "Vim" is "vi improved" - much better! (Sven Guckes, Germany)
|
||||||
|
|
||||||
I use VIM every day. I spend more time in VIM than in any other program...
|
I use Vim every day. I spend more time in Vim than in any other program...
|
||||||
It's the best vi clone there is. I think it's great. (Craig Sanders,
|
It's the best vi clone there is. I think it's great. (Craig Sanders,
|
||||||
Australia)
|
Australia)
|
||||||
|
|
||||||
I strongly advise using VIM--its infinite undo/redo saved me much grief.
|
I strongly advise using Vim--its infinite undo/redo saved me much grief.
|
||||||
(Terry Brown)
|
(Terry Brown)
|
||||||
|
|
||||||
Thanks very much for writing what in my opinion is the finest text editor on
|
Thanks very much for writing what in my opinion is the finest text editor on
|
||||||
@@ -163,98 +163,98 @@ the planet. If I were to get another cat, I would name it "Vim".
|
|||||||
I typed :set all and the screen FILLED up with options. A whole screen of
|
I typed :set all and the screen FILLED up with options. A whole screen of
|
||||||
things to be set and unset. I saw some of my old friends like wrapmargin,
|
things to be set and unset. I saw some of my old friends like wrapmargin,
|
||||||
modelines and showmode, but the screen was FILLED with new friends! I love
|
modelines and showmode, but the screen was FILLED with new friends! I love
|
||||||
them all! I love VIM! I'm so happy that I've found this editor! I feel
|
them all! I love Vim! I'm so happy that I've found this editor! I feel
|
||||||
like how I once felt when I started using vi after a couple of years of using
|
like how I once felt when I started using vi after a couple of years of using
|
||||||
ed. I never thought I'd forsake my beloved ed, but vi ... oh god, vi was
|
ed. I never thought I'd forsake my beloved ed, but vi ... oh god, vi was
|
||||||
great. And now, VIM. (Peter Jay Salzman, USA)
|
great. And now, Vim. (Peter Jay Salzman, USA)
|
||||||
|
|
||||||
I am really happy with such a wonderful software package. Much better than
|
I am really happy with such a wonderful software package. Much better than
|
||||||
almost any expensive, off the shelf program. (Jeff Walker)
|
almost any expensive, off the shelf program. (Jeff Walker)
|
||||||
|
|
||||||
Whenever I reread the VIM documentation I'm overcome with excitement at the
|
Whenever I reread the Vim documentation I'm overcome with excitement at the
|
||||||
power of the editor. (William Edward Webber, Australia)
|
power of the editor. (William Edward Webber, Australia)
|
||||||
|
|
||||||
Hurrah for VIM!! It is "at your fingertips" like vi, and has the extensions
|
Hurrah for Vim!! It is "at your fingertips" like vi, and has the extensions
|
||||||
that vi sorely needs: highlighting for executing commands on blocks, an easily
|
that vi sorely needs: highlighting for executing commands on blocks, an easily
|
||||||
navigable and digestible help screen, and more. (Paul Pax)
|
navigable and digestible help screen, and more. (Paul Pax)
|
||||||
|
|
||||||
The reason WHY I don't have this amazingly useful macro anymore, is that I
|
The reason WHY I don't have this amazingly useful macro anymore, is that I
|
||||||
now use VIM - and this is built in!! (Stephen Riehm, Germany)
|
now use Vim - and this is built in!! (Stephen Riehm, Germany)
|
||||||
|
|
||||||
I am a user of VIM and I love it. I use it to do all my programming, C,
|
I am a user of Vim and I love it. I use it to do all my programming, C,
|
||||||
C++, HTML what ever. (Tim Allwine)
|
C++, HTML what ever. (Tim Allwine)
|
||||||
|
|
||||||
I discovered VIM after years of struggling with the original vi, and I just
|
I discovered Vim after years of struggling with the original vi, and I just
|
||||||
can't live without it anymore. (Emmanuel Mogenet, USA)
|
can't live without it anymore. (Emmanuel Mogenet, USA)
|
||||||
|
|
||||||
Emacs has not a bit of chance to survive so long as VIM is around. Besides,
|
Emacs has not a bit of chance to survive so long as Vim is around. Besides,
|
||||||
it also has the most detailed software documentation I have ever seen---much
|
it also has the most detailed software documentation I have ever seen---much
|
||||||
better than most commercial software! (Leiming Qian)
|
better than most commercial software! (Leiming Qian)
|
||||||
|
|
||||||
This version of VIM will just blow people apart when they discover just how
|
This version of Vim will just blow people apart when they discover just how
|
||||||
fantastic it is! (Tony Nugent, Australia)
|
fantastic it is! (Tony Nugent, Australia)
|
||||||
|
|
||||||
I took your advice & finally got VIM & I'm really impressed. Instant convert.
|
I took your advice & finally got Vim & I'm really impressed. Instant convert.
|
||||||
(Patrick Killelea, USA)
|
(Patrick Killelea, USA)
|
||||||
|
|
||||||
VIM is by far my favorite piece of shareware and I have been particularly
|
Vim is by far my favorite piece of shareware and I have been particularly
|
||||||
pleased with version 3.0. This is really a solid piece of work. (Robert
|
pleased with version 3.0. This is really a solid piece of work. (Robert
|
||||||
Colon, USA)
|
Colon, USA)
|
||||||
|
|
||||||
VIM is a joy to use, it is so well thought and practical that I wonder why
|
Vim is a joy to use, it is so well thought and practical that I wonder why
|
||||||
anybody would use visual development tools. VIM is powerful and elegant, it
|
anybody would use visual development tools. Vim is powerful and elegant, it
|
||||||
looks deceptively simple but is almost as complex as a 747 (especially when I
|
looks deceptively simple but is almost as complex as a 747 (especially when I
|
||||||
look at my growing .vimrc), keep up that wonderful job, VIM is a centerpiece
|
look at my growing .vimrc), keep up that wonderful job, Vim is a centerpiece
|
||||||
of the free software world. (Louis-David Mitterand, USA)
|
of the free software world. (Louis-David Mitterand, USA)
|
||||||
|
|
||||||
I cannot believe how great it is to use VIM. I think the guys at work are
|
I cannot believe how great it is to use Vim. I think the guys at work are
|
||||||
getting tired of hearing me bragging about it. Others eyes are lighting up.
|
getting tired of hearing me bragging about it. Others eyes are lighting up.
|
||||||
(Rick Croote)
|
(Rick Croote)
|
||||||
|
|
||||||
Emacs takes way too much time to start up and run, it is too big and bulky for
|
Emacs takes way too much time to start up and run, it is too big and bulky for
|
||||||
effective use and the interface is more confusing than it is of any help. VIM
|
effective use and the interface is more confusing than it is of any help. Vim
|
||||||
however is short, it is fast, it is powerful, it has a good interface and it
|
however is short, it is fast, it is powerful, it has a good interface and it
|
||||||
is all purpose. (Paal Ditlefsen Ekran)
|
is all purpose. (Paal Ditlefsen Ekran)
|
||||||
|
|
||||||
From the first time I got VIM3.0, I was very enthusiastic. It has almost no
|
From the first time I got Vim3.0, I was very enthusiastic. It has almost no
|
||||||
problems. The swapfile handling and the backup possibilities are robust, also
|
problems. The swapfile handling and the backup possibilities are robust, also
|
||||||
the protection against editing one file twice. It is very compatible to the
|
the protection against editing one file twice. It is very compatible to the
|
||||||
real VI (and that is a MUST, because my brain is trained over years in using
|
real VI (and that is a MUST, because my brain is trained over years in using
|
||||||
it). (Gert van Antwerpen, Holland)
|
it). (Gert van Antwerpen, Holland)
|
||||||
|
|
||||||
Visual mode in VIM is a very powerful thing! (Tony Nugent, Australia)
|
Visual mode in Vim is a very powerful thing! (Tony Nugent, Australia)
|
||||||
|
|
||||||
I have to say that VIM is =THE= single greatest piece of source code to ever
|
I have to say that Vim is =THE= single greatest piece of source code to ever
|
||||||
come across the net (Jim Battle, USA).
|
come across the net (Jim Battle, USA).
|
||||||
|
|
||||||
In fact, if you do want to get a new vi I'd suggest VIM-3.0. This is, by
|
In fact, if you do want to get a new vi I'd suggest Vim-3.0. This is, by
|
||||||
far, the best version of vi I've ever seen (Albert W. Schueller).
|
far, the best version of vi I've ever seen (Albert W. Schueller).
|
||||||
|
|
||||||
I should mention that VIM is a very good editor and can compete with anything
|
I should mention that Vim is a very good editor and can compete with anything
|
||||||
(Ilya Beloozerov).
|
(Ilya Beloozerov).
|
||||||
|
|
||||||
To tell the truth sometimes I used elvis, vile, xvi, calvin, etc. And this is
|
To tell the truth sometimes I used elvis, vile, xvi, calvin, etc. And this is
|
||||||
the reason that I can state that VIM is the best! (Ferenc Deak, Hungary)
|
the reason that I can state that Vim is the best! (Ferenc Deak, Hungary)
|
||||||
|
|
||||||
VIM is by far the best editor that I have used in a long time, and I have
|
Vim is by far the best editor that I have used in a long time, and I have
|
||||||
looked at just about every thing that is available for every platform that I
|
looked at just about every thing that is available for every platform that I
|
||||||
use. VIM is the best on all of them. (Guy L. Oliver)
|
use. Vim is the best on all of them. (Guy L. Oliver)
|
||||||
|
|
||||||
VIM is the greatest editor since the stone chisel. (Jose Unpingco, USA)
|
Vim is the greatest editor since the stone chisel. (Jose Unpingco, USA)
|
||||||
|
|
||||||
I would like to say that with VIM I am finally making the 'emacs to vi'
|
I would like to say that with Vim I am finally making the 'emacs to vi'
|
||||||
transition - as an Editor it is so much better in many ways: keyboard layout,
|
transition - as an Editor it is so much better in many ways: keyboard layout,
|
||||||
memory usage, text alteration to name 3. (Mark Adam)
|
memory usage, text alteration to name 3. (Mark Adam)
|
||||||
|
|
||||||
In fact, now if I want to know what a particular setting does in vi, I fire up
|
In fact, now if I want to know what a particular setting does in vi, I fire up
|
||||||
VIM and check out its help! (Nikhil Patel, USA)
|
Vim and check out its help! (Nikhil Patel, USA)
|
||||||
|
|
||||||
As a vi user, VIM has made working with text a far more pleasant task than
|
As a vi user, Vim has made working with text a far more pleasant task than
|
||||||
before I encountered this program. (Steinar Knutsen, Norway)
|
before I encountered this program. (Steinar Knutsen, Norway)
|
||||||
|
|
||||||
I use VIM since version 3.0. Since that time, it is the ONLY editor I use,
|
I use Vim since version 3.0. Since that time, it is the ONLY editor I use,
|
||||||
with Solaris, Linux and OS/2 Warp. I suggest all my friends to use VIM, they
|
with Solaris, Linux and OS/2 Warp. I suggest all my friends to use Vim, they
|
||||||
try, and they continue using it. VIM is really the best software I have ever
|
try, and they continue using it. Vim is really the best software I have ever
|
||||||
downloaded from the Internet, and the best editor I know of. (Marco
|
downloaded from the Internet, and the best editor I know of. (Marco
|
||||||
Eccettuato, Italy)
|
Eccettuato, Italy)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*repeat.txt* For Vim version 8.0. Last change: 2017 Feb 06
|
*repeat.txt* For Vim version 8.0. Last change: 2017 Jun 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -46,7 +46,7 @@ of area is used, see |visual-repeat|.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
2. Multiple repeats *multi-repeat*
|
2. Multiple repeats *multi-repeat*
|
||||||
|
|
||||||
*:g* *:global* *E147* *E148*
|
*:g* *:global* *E148*
|
||||||
:[range]g[lobal]/{pattern}/[cmd]
|
:[range]g[lobal]/{pattern}/[cmd]
|
||||||
Execute the Ex command [cmd] (default ":p") on the
|
Execute the Ex command [cmd] (default ":p") on the
|
||||||
lines within [range] where {pattern} matches.
|
lines within [range] where {pattern} matches.
|
||||||
@@ -79,8 +79,15 @@ The default for [range] is the whole buffer (1,$). Use "CTRL-C" to interrupt
|
|||||||
the command. If an error message is given for a line, the command for that
|
the command. If an error message is given for a line, the command for that
|
||||||
line is aborted and the global command continues with the next marked or
|
line is aborted and the global command continues with the next marked or
|
||||||
unmarked line.
|
unmarked line.
|
||||||
|
*E147*
|
||||||
|
When the command is used recursively, it only works on one line. Giving a
|
||||||
|
range is then not allowed. This is useful to find all lines that match a
|
||||||
|
pattern and do not match another pattern: >
|
||||||
|
:g/found/v/notfound/{cmd}
|
||||||
|
This first finds all lines containing "found", but only executes {cmd} when
|
||||||
|
there is no match for "notfound".
|
||||||
|
|
||||||
To repeat a non-Ex command, you can use the ":normal" command: >
|
To execute a non-Ex command, you can use the `:normal` command: >
|
||||||
:g/pat/normal {commands}
|
:g/pat/normal {commands}
|
||||||
Make sure that {commands} ends with a whole command, otherwise Vim will wait
|
Make sure that {commands} ends with a whole command, otherwise Vim will wait
|
||||||
for you to type the rest of the command for each match. The screen will not
|
for you to type the rest of the command for each match. The screen will not
|
||||||
|
|||||||
@@ -478,7 +478,7 @@ Vim uses a binary file format for spelling. This greatly speeds up loading
|
|||||||
the word list and keeps it small.
|
the word list and keeps it small.
|
||||||
*.aff* *.dic* *Myspell*
|
*.aff* *.dic* *Myspell*
|
||||||
You can create a Vim spell file from the .aff and .dic files that Myspell
|
You can create a Vim spell file from the .aff and .dic files that Myspell
|
||||||
uses. Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt
|
uses. Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt
|
||||||
files are zip files which contain the .aff and .dic files. You should be able
|
files are zip files which contain the .aff and .dic files. You should be able
|
||||||
to find them here:
|
to find them here:
|
||||||
http://extensions.services.openoffice.org/dictionary
|
http://extensions.services.openoffice.org/dictionary
|
||||||
@@ -1614,7 +1614,7 @@ COMPOUNDSYLLABLE (Hunspell) *spell-COMPOUNDSYLLABLE*
|
|||||||
KEY (Hunspell) *spell-KEY*
|
KEY (Hunspell) *spell-KEY*
|
||||||
Define characters that are close together on the keyboard.
|
Define characters that are close together on the keyboard.
|
||||||
Used to give better suggestions. Not supported.
|
Used to give better suggestions. Not supported.
|
||||||
|
|
||||||
LANG (Hunspell) *spell-LANG*
|
LANG (Hunspell) *spell-LANG*
|
||||||
This specifies language-specific behavior. This actually
|
This specifies language-specific behavior. This actually
|
||||||
moves part of the language knowledge into the program,
|
moves part of the language knowledge into the program,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 8.0. Last change: 2017 Jan 15
|
*starting.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -140,11 +140,12 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
|
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Note that the |-u| argument may also disable loading plugins:
|
Note that the |-u| argument may also disable loading plugins:
|
||||||
argument load vimrc files load plugins ~
|
argument load: vimrc files plugins defaults.vim ~
|
||||||
(nothing) yes yes
|
(nothing) yes yes yes
|
||||||
-u NONE no no
|
-u NONE no no no
|
||||||
-u NORC no yes
|
-u DEFAULTS no no yes
|
||||||
--noplugin yes no
|
-u NORC no yes no
|
||||||
|
--noplugin yes no yes
|
||||||
|
|
||||||
--startuptime {fname} *--startuptime*
|
--startuptime {fname} *--startuptime*
|
||||||
During startup write timing messages to the file {fname}.
|
During startup write timing messages to the file {fname}.
|
||||||
@@ -465,21 +466,30 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
--nofork GUI: Do not fork. Same as |-f|.
|
--nofork GUI: Do not fork. Same as |-f|.
|
||||||
*-u* *E282*
|
*-u* *E282*
|
||||||
-u {vimrc} The file {vimrc} is read for initializations. Most other
|
-u {vimrc} The file {vimrc} is read for initializations. Most other
|
||||||
initializations are skipped; see |initialization|. This can
|
initializations are skipped; see |initialization|.
|
||||||
be used to start Vim in a special mode, with special
|
|
||||||
|
This can be used to start Vim in a special mode, with special
|
||||||
mappings and settings. A shell alias can be used to make
|
mappings and settings. A shell alias can be used to make
|
||||||
this easy to use. For example: >
|
this easy to use. For example: >
|
||||||
alias vimc vim -u ~/.c_vimrc !*
|
alias vimc vim -u ~/.c_vimrc !*
|
||||||
< Also consider using autocommands; see |autocommand|.
|
< Also consider using autocommands; see |autocommand|.
|
||||||
|
|
||||||
When {vimrc} is equal to "NONE" (all uppercase), all
|
When {vimrc} is equal to "NONE" (all uppercase), all
|
||||||
initializations from files and environment variables are
|
initializations from files and environment variables are
|
||||||
skipped, including reading the |gvimrc| file when the GUI
|
skipped, including reading the |gvimrc| file when the GUI
|
||||||
starts. Loading plugins is also skipped.
|
starts. Loading plugins is also skipped.
|
||||||
|
|
||||||
When {vimrc} is equal to "NORC" (all uppercase), this has the
|
When {vimrc} is equal to "NORC" (all uppercase), this has the
|
||||||
same effect as "NONE", but loading plugins is not skipped.
|
same effect as "NONE", but loading plugins is not skipped.
|
||||||
Using the "-u" argument has the side effect that the
|
|
||||||
'compatible' option will be on by default. This can have
|
When {vimrc} is equal to "DEFAULTS" (all uppercase), this has
|
||||||
unexpected effects. See |'compatible'|.
|
the same effect as "NONE", but the |defaults.vim| script is
|
||||||
|
loaded, which will also set 'nocompatible'.
|
||||||
|
|
||||||
|
Using the "-u" argument with another argument than DEFAULTS
|
||||||
|
has the side effect that the 'compatible' option will be on by
|
||||||
|
default. This can have unexpected effects. See
|
||||||
|
|'compatible'|.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
*-U* *E230*
|
*-U* *E230*
|
||||||
@@ -497,6 +507,13 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
":rv" or ":wv" are used. See also |viminfo-file|.
|
":rv" or ":wv" are used. See also |viminfo-file|.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
|
*--clean*
|
||||||
|
--clean Equal to "-u DEFAULTS -i NONE":
|
||||||
|
- initializations from files and environment variables is
|
||||||
|
skipped
|
||||||
|
- the |defaults.vim| script is loaded, which implies
|
||||||
|
'nocompatible': use Vim defaults
|
||||||
|
- no viminfo file is read or written
|
||||||
*-x*
|
*-x*
|
||||||
-x Use encryption to read/write files. Will prompt for a key,
|
-x Use encryption to read/write files. Will prompt for a key,
|
||||||
which is then stored in the 'key' option. All writes will
|
which is then stored in the 'key' option. All writes will
|
||||||
@@ -868,6 +885,7 @@ accordingly. Vim proceeds in this order:
|
|||||||
Loading plugins won't be done when:
|
Loading plugins won't be done when:
|
||||||
- The 'loadplugins' option was reset in a vimrc file.
|
- The 'loadplugins' option was reset in a vimrc file.
|
||||||
- The |--noplugin| command line argument is used.
|
- The |--noplugin| command line argument is used.
|
||||||
|
- The |--clean| command line argument is used.
|
||||||
- The "-u NONE" command line argument is used |-u|.
|
- The "-u NONE" command line argument is used |-u|.
|
||||||
- When Vim was compiled without the |+eval| feature.
|
- When Vim was compiled without the |+eval| feature.
|
||||||
Note that using "-c 'set noloadplugins'" doesn't work, because the
|
Note that using "-c 'set noloadplugins'" doesn't work, because the
|
||||||
@@ -990,6 +1008,7 @@ starts its initializations. But as soon as:
|
|||||||
- a vimrc file in the current directory, or
|
- a vimrc file in the current directory, or
|
||||||
- the "VIMINIT" environment variable is set, or
|
- the "VIMINIT" environment variable is set, or
|
||||||
- the "-N" command line argument is given, or
|
- the "-N" command line argument is given, or
|
||||||
|
- the "--clean" command line argument is given, or
|
||||||
even when no vimrc file exists.
|
even when no vimrc file exists.
|
||||||
- the |defaults.vim| script is loaded, or
|
- the |defaults.vim| script is loaded, or
|
||||||
- gvimrc file was found,
|
- gvimrc file was found,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.0. Last change: 2017 Feb 06
|
*syntax.txt* For Vim version 8.0. Last change: 2017 Jul 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -4812,10 +4812,11 @@ ctermbg={color-nr} *highlight-ctermbg*
|
|||||||
Example: >
|
Example: >
|
||||||
:highlight Normal ctermfg=grey ctermbg=darkblue
|
:highlight Normal ctermfg=grey ctermbg=darkblue
|
||||||
< When setting the "ctermbg" color for the Normal group, the
|
< When setting the "ctermbg" color for the Normal group, the
|
||||||
'background' option will be adjusted automatically. This causes the
|
'background' option will be adjusted automatically, under the
|
||||||
highlight groups that depend on 'background' to change! This means
|
condition that the color is recognized and 'background' was not set
|
||||||
you should set the colors for Normal first, before setting other
|
explicitly. This causes the highlight groups that depend on
|
||||||
colors.
|
'background' to change! This means you should set the colors for
|
||||||
|
Normal first, before setting other colors.
|
||||||
When a colorscheme is being used, changing 'background' causes it to
|
When a colorscheme is being used, changing 'background' causes it to
|
||||||
be reloaded, which may reset all colors (including Normal). First
|
be reloaded, which may reset all colors (including Normal). First
|
||||||
delete the "g:colors_name" variable when you don't want this.
|
delete the "g:colors_name" variable when you don't want this.
|
||||||
@@ -4981,10 +4982,11 @@ PmenuSbar Popup menu: scrollbar.
|
|||||||
PmenuThumb Popup menu: Thumb of the scrollbar.
|
PmenuThumb Popup menu: Thumb of the scrollbar.
|
||||||
*hl-Question*
|
*hl-Question*
|
||||||
Question |hit-enter| prompt and yes/no questions
|
Question |hit-enter| prompt and yes/no questions
|
||||||
|
*hl-QuickFixLine*
|
||||||
|
QuickFixLine Current |quickfix| item in the quickfix window.
|
||||||
*hl-Search*
|
*hl-Search*
|
||||||
Search Last search pattern highlighting (see 'hlsearch').
|
Search Last search pattern highlighting (see 'hlsearch').
|
||||||
Also used for highlighting the current line in the quickfix
|
Also used for similar items that need to stand out.
|
||||||
window and similar items that need to stand out.
|
|
||||||
*hl-SpecialKey*
|
*hl-SpecialKey*
|
||||||
SpecialKey Meta and special keys listed with ":map", also for text used
|
SpecialKey Meta and special keys listed with ":map", also for text used
|
||||||
to show unprintable characters in the text, 'listchars'.
|
to show unprintable characters in the text, 'listchars'.
|
||||||
|
|||||||
@@ -3098,6 +3098,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:tclfile if_tcl.txt /*:tclfile*
|
:tclfile if_tcl.txt /*:tclfile*
|
||||||
:te gui_w32.txt /*:te*
|
:te gui_w32.txt /*:te*
|
||||||
:tearoff gui_w32.txt /*:tearoff*
|
:tearoff gui_w32.txt /*:tearoff*
|
||||||
|
:ter terminal.txt /*:ter*
|
||||||
|
:terminal terminal.txt /*:terminal*
|
||||||
:tf tagsrch.txt /*:tf*
|
:tf tagsrch.txt /*:tf*
|
||||||
:tfirst tagsrch.txt /*:tfirst*
|
:tfirst tagsrch.txt /*:tfirst*
|
||||||
:th eval.txt /*:th*
|
:th eval.txt /*:th*
|
||||||
@@ -4519,6 +4521,8 @@ E940 eval.txt /*E940*
|
|||||||
E941 eval.txt /*E941*
|
E941 eval.txt /*E941*
|
||||||
E942 eval.txt /*E942*
|
E942 eval.txt /*E942*
|
||||||
E943 message.txt /*E943*
|
E943 message.txt /*E943*
|
||||||
|
E944 pattern.txt /*E944*
|
||||||
|
E945 pattern.txt /*E945*
|
||||||
E95 message.txt /*E95*
|
E95 message.txt /*E95*
|
||||||
E96 diff.txt /*E96*
|
E96 diff.txt /*E96*
|
||||||
E97 diff.txt /*E97*
|
E97 diff.txt /*E97*
|
||||||
@@ -4800,6 +4804,7 @@ W18 syntax.txt /*W18*
|
|||||||
W19 autocmd.txt /*W19*
|
W19 autocmd.txt /*W19*
|
||||||
W20 if_pyth.txt /*W20*
|
W20 if_pyth.txt /*W20*
|
||||||
W21 if_pyth.txt /*W21*
|
W21 if_pyth.txt /*W21*
|
||||||
|
W22 eval.txt /*W22*
|
||||||
WORD motion.txt /*WORD*
|
WORD motion.txt /*WORD*
|
||||||
WWW intro.txt /*WWW*
|
WWW intro.txt /*WWW*
|
||||||
Win32 os_win32.txt /*Win32*
|
Win32 os_win32.txt /*Win32*
|
||||||
@@ -6569,6 +6574,7 @@ gs various.txt /*gs*
|
|||||||
gsp.vim syntax.txt /*gsp.vim*
|
gsp.vim syntax.txt /*gsp.vim*
|
||||||
gstar pattern.txt /*gstar*
|
gstar pattern.txt /*gstar*
|
||||||
gt tabpage.txt /*gt*
|
gt tabpage.txt /*gt*
|
||||||
|
gtk-css gui_x11.txt /*gtk-css*
|
||||||
gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
|
gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
|
||||||
gu change.txt /*gu*
|
gu change.txt /*gu*
|
||||||
gugu change.txt /*gugu*
|
gugu change.txt /*gugu*
|
||||||
@@ -6738,6 +6744,7 @@ hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
|
|||||||
hl-PmenuSel syntax.txt /*hl-PmenuSel*
|
hl-PmenuSel syntax.txt /*hl-PmenuSel*
|
||||||
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
|
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
|
||||||
hl-Question syntax.txt /*hl-Question*
|
hl-Question syntax.txt /*hl-Question*
|
||||||
|
hl-QuickFixLine syntax.txt /*hl-QuickFixLine*
|
||||||
hl-Scrollbar syntax.txt /*hl-Scrollbar*
|
hl-Scrollbar syntax.txt /*hl-Scrollbar*
|
||||||
hl-Search syntax.txt /*hl-Search*
|
hl-Search syntax.txt /*hl-Search*
|
||||||
hl-SignColumn syntax.txt /*hl-SignColumn*
|
hl-SignColumn syntax.txt /*hl-SignColumn*
|
||||||
@@ -8776,6 +8783,12 @@ tempname() eval.txt /*tempname()*
|
|||||||
term-dependent-settings term.txt /*term-dependent-settings*
|
term-dependent-settings term.txt /*term-dependent-settings*
|
||||||
term-list syntax.txt /*term-list*
|
term-list syntax.txt /*term-list*
|
||||||
term.txt term.txt /*term.txt*
|
term.txt term.txt /*term.txt*
|
||||||
|
term_getsize() eval.txt /*term_getsize()*
|
||||||
|
term_open() eval.txt /*term_open()*
|
||||||
|
term_scrape() eval.txt /*term_scrape()*
|
||||||
|
term_sendkeys() eval.txt /*term_sendkeys()*
|
||||||
|
term_setsize() eval.txt /*term_setsize()*
|
||||||
|
term_wait() eval.txt /*term_wait()*
|
||||||
termcap term.txt /*termcap*
|
termcap term.txt /*termcap*
|
||||||
termcap-changed version4.txt /*termcap-changed*
|
termcap-changed version4.txt /*termcap-changed*
|
||||||
termcap-colors term.txt /*termcap-colors*
|
termcap-colors term.txt /*termcap-colors*
|
||||||
@@ -8783,11 +8796,16 @@ termcap-cursor-color term.txt /*termcap-cursor-color*
|
|||||||
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
||||||
termcap-options term.txt /*termcap-options*
|
termcap-options term.txt /*termcap-options*
|
||||||
termcap-title term.txt /*termcap-title*
|
termcap-title term.txt /*termcap-title*
|
||||||
|
terminal terminal.txt /*terminal*
|
||||||
terminal-colors os_unix.txt /*terminal-colors*
|
terminal-colors os_unix.txt /*terminal-colors*
|
||||||
|
terminal-debug terminal.txt /*terminal-debug*
|
||||||
terminal-info term.txt /*terminal-info*
|
terminal-info term.txt /*terminal-info*
|
||||||
terminal-key-codes term.txt /*terminal-key-codes*
|
terminal-key-codes term.txt /*terminal-key-codes*
|
||||||
terminal-options term.txt /*terminal-options*
|
terminal-options term.txt /*terminal-options*
|
||||||
terminal-output-codes term.txt /*terminal-output-codes*
|
terminal-output-codes term.txt /*terminal-output-codes*
|
||||||
|
terminal-testing terminal.txt /*terminal-testing*
|
||||||
|
terminal-use terminal.txt /*terminal-use*
|
||||||
|
terminal.txt terminal.txt /*terminal.txt*
|
||||||
terminfo term.txt /*terminfo*
|
terminfo term.txt /*terminfo*
|
||||||
termresponse-variable eval.txt /*termresponse-variable*
|
termresponse-variable eval.txt /*termresponse-variable*
|
||||||
test-functions usr_41.txt /*test-functions*
|
test-functions usr_41.txt /*test-functions*
|
||||||
|
|||||||
126
runtime/doc/terminal.txt
Normal file
126
runtime/doc/terminal.txt
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
*terminal.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|
||||||
|
|
||||||
|
Terminal window support *terminal*
|
||||||
|
|
||||||
|
|
||||||
|
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
|
||||||
|
|
||||||
|
|
||||||
|
1. Basic use |terminal-use|
|
||||||
|
2. Remote testing |terminal-testing|
|
||||||
|
3. Debugging |terminal-debug|
|
||||||
|
|
||||||
|
{Vi does not have any of these commands}
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
1. Basic use *terminal-use*
|
||||||
|
|
||||||
|
This feature is for running a terminal emulator in a Vim window. A job can be
|
||||||
|
started connected to the terminal emulator. For example, to run a shell: >
|
||||||
|
:term bash
|
||||||
|
|
||||||
|
Or to run a debugger: >
|
||||||
|
:term gdb vim
|
||||||
|
|
||||||
|
The job runs asynchronously from Vim, the window will be updated to show
|
||||||
|
output from the job, also while editing in any other window.
|
||||||
|
|
||||||
|
When the keyboard focus is in the terminal window, typed keys will be send to
|
||||||
|
the job. This uses a pty when possible.
|
||||||
|
|
||||||
|
Navigate between windows with CTRL-W commands (and mouse).
|
||||||
|
E.g. CTRL-W CTRL-W moves focus to the next window.
|
||||||
|
|
||||||
|
See option 'termkey' for specifying the key that precedes a Vim command.
|
||||||
|
Default is CTRL-W.
|
||||||
|
|
||||||
|
See option 'termsize' for controlling the size of the terminal window.
|
||||||
|
(TODO: scrolling when the terminal is larger than the window)
|
||||||
|
|
||||||
|
Syntax ~
|
||||||
|
*:ter* *:terminal*
|
||||||
|
:terminal[!] [command] Open a new terminal window.
|
||||||
|
|
||||||
|
If [command] is provided run it as a job and connect
|
||||||
|
the input and output to the terminal.
|
||||||
|
If [command] is not given the 'shell' option is used.
|
||||||
|
|
||||||
|
A new buffer will be created, using [command] or
|
||||||
|
'shell' as the name. If a buffer by this name already
|
||||||
|
exists a number is added in parenthesis.
|
||||||
|
E.g. if "gdb" exists the second terminal buffer will
|
||||||
|
use "gdb (1)".
|
||||||
|
|
||||||
|
The window can be closed, in which case the buffer
|
||||||
|
becomes hidden. The command will not be stopped. The
|
||||||
|
`:buffer` command can be used to turn the current
|
||||||
|
window into a terminal window, using the existing
|
||||||
|
buffer. If there are unsaved changes this fails, use
|
||||||
|
! to force, as usual.
|
||||||
|
|
||||||
|
Resizing ~
|
||||||
|
|
||||||
|
The size of the terminal can be in one of three modes:
|
||||||
|
|
||||||
|
1. The 'termsize' option is empty: The terminal size follows the window size.
|
||||||
|
The minimal size is 2 screen lines with 10 cells.
|
||||||
|
|
||||||
|
2. The 'termsize' option is "rows*cols", where "rows" is the minimal number of
|
||||||
|
screen rows and "cols" is the minial number of cells.
|
||||||
|
|
||||||
|
3. The 'termsize' option is "rowsXcols" (where the x is upper or lower case).
|
||||||
|
The terminal size is fixed to the specified number of screen lines and
|
||||||
|
cells. If the window is bigger there will be unused empty space.
|
||||||
|
|
||||||
|
If the window is smaller than the terminal size, only part of the terminal can
|
||||||
|
be seen (the lower-left part).
|
||||||
|
|
||||||
|
The |term_getsize()| function can be used to get the current size of the
|
||||||
|
terminal. |term_setsize()| can be used only when in the first or second mode,
|
||||||
|
not when 'termsize' is "rowsXcols".
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
2. Remote testing *terminal-testing*
|
||||||
|
|
||||||
|
Most Vim tests execute a script inside Vim. For some tests this does not
|
||||||
|
work, running the test interferes with the code being tested. To avoid this
|
||||||
|
Vim is executed in a terminal window. The test sends keystrokes to it and
|
||||||
|
inspects the resulting screen state.
|
||||||
|
|
||||||
|
Functions ~
|
||||||
|
|
||||||
|
term_sendkeys() send keystrokes to a terminal
|
||||||
|
term_wait() wait for screen to be updated
|
||||||
|
term_scrape() inspect terminal screen
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. Debugging *terminal-debug*
|
||||||
|
|
||||||
|
The Terminal debugging plugin can be used to debug a program with gdb and view
|
||||||
|
the source code in a Vim window. For example: >
|
||||||
|
|
||||||
|
:TermDebug vim
|
||||||
|
|
||||||
|
This opens three windows:
|
||||||
|
- A terminal window in which "gdb vim" is executed. Here you can directly
|
||||||
|
interact with gdb.
|
||||||
|
- A terminal window for the executed program. When "run" is used in gdb the
|
||||||
|
program I/O will happen in this window, so that it does not interfere with
|
||||||
|
controlling gdb.
|
||||||
|
- A normal Vim window used to show the source code. When gdb jumps to a
|
||||||
|
source file location this window will display the code, if possible. Values
|
||||||
|
of variables can be inspected, breakpoints set and cleared, etc.
|
||||||
|
|
||||||
|
This uses two terminal windows. To open the gdb window: >
|
||||||
|
:term gdb [arguments]
|
||||||
|
To open the terminal to run the tested program |term_open()| is used.
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
|
||||||
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.0. Last change: 2017 Apr 28
|
*todo.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -35,13 +35,39 @@ entered there will not be repeated below, unless there is extra information.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
Remove the Farsi code?
|
When redrawing for the channel buffer, command line completion is cleared.
|
||||||
|
(Ramel Eshed, 2017 May 4)
|
||||||
|
When a timer triggers the command completion disappears. (Dominique Pelle,
|
||||||
|
2017 Jun 13, #1768)
|
||||||
|
Caused by 8.0.0592.
|
||||||
|
Check if anything was output? Don't redraw when scrolled. (#1820)
|
||||||
|
When redrawing the command line a pending CTRL-R shows ", which is removed.
|
||||||
|
|
||||||
|
No maintainer for German translations.
|
||||||
|
No maintainer for Vietnamese translations.
|
||||||
|
No maintainer for Simplified Chinese translations.
|
||||||
|
|
||||||
|
|
||||||
|
Terminal emulator window:
|
||||||
|
- Lots of stuff to implement, see src/terminal.c
|
||||||
|
- Windows implementation (WiP): https://github.com/mattn/vim/tree/terminal
|
||||||
|
Using winpty ?
|
||||||
|
- Running a shell command from the GUI still has limitations. Look into how
|
||||||
|
the terminal emulator of the Vim shell project can help:
|
||||||
|
http://vimshell.wana.at
|
||||||
|
- Add debugger interface. Implementation for gdb by Xavier de Gaye.
|
||||||
|
Should work like an IDE. Try to keep it generic. Now found here:
|
||||||
|
http://clewn.sf.net.
|
||||||
|
- Look into the idevim plugin/script.
|
||||||
|
- Related wishes for NetBeans commands:
|
||||||
|
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
||||||
|
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
||||||
|
in terminal mode.
|
||||||
|
- Feature: switch between "running job" and a normal buffer (possibly
|
||||||
|
read-only) to allow for searching, copy/paste, etc. (Domnique). Having a
|
||||||
|
(large) scrollback would be useful.
|
||||||
|
|
||||||
+channel:
|
+channel:
|
||||||
- job_stop() should not always close the channel, e.g. for "int".
|
|
||||||
(Martin Gammelsæter, 2017 Apr 11, #1632)
|
|
||||||
Only assume killed on "kill".
|
|
||||||
Check job->jv_status not to be JOB_ENDED.
|
|
||||||
- Try out background make plugin:
|
- Try out background make plugin:
|
||||||
https://github.com/AndrewVos/vim-make-background
|
https://github.com/AndrewVos/vim-make-background
|
||||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||||
@@ -105,28 +131,137 @@ Regexp problems:
|
|||||||
col and vcol when moving to another line.
|
col and vcol when moving to another line.
|
||||||
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
||||||
out the \& works. Seems any column check after \& fails.
|
out the \& works. Seems any column check after \& fails.
|
||||||
- The pattern "\1" with the old engine gives E65, with the new engine it
|
|
||||||
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
|
|
||||||
had_endbrace[] is set but not initialized or used.
|
|
||||||
- Difference between two engines: ".*\zs\/\@>\/" on text "///"
|
- Difference between two engines: ".*\zs\/\@>\/" on text "///"
|
||||||
(Chris Paul, 2016 Nov 13) New engine not greedy enough?
|
(Chris Paul, 2016 Nov 13) New engine not greedy enough?
|
||||||
|
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
||||||
|
(2017 May 15, #1252)
|
||||||
|
|
||||||
|
Patch to update b:changedtick in the quickfix window. (Yegappan Lakshmanan,
|
||||||
|
2017 Jul 13)
|
||||||
|
|
||||||
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||||
(Marcin Szewczyk, 2017 Apr 26)
|
(Marcin Szewczyk, 2017 Apr 26)
|
||||||
|
|
||||||
|
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
||||||
|
Lemonboy can reproduce (2017 Jun 5)
|
||||||
|
|
||||||
|
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
||||||
|
|
||||||
|
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
||||||
|
|
||||||
|
Better detection of strace file. (Steven Fernandez, 2017 Jul 12, #1837)
|
||||||
|
|
||||||
|
To reproduce problems "vim -u NONE -N" is often used, but this still uses
|
||||||
|
'viminfo'. Add "-I" to not use 'viminfo'?
|
||||||
|
Or use "vim -B" for "bug reproduction"?
|
||||||
|
|
||||||
|
Bug with conceal mode: 3rd element returned by synconcealed() differs for
|
||||||
|
every call. (Dominique Pelle, 2017 Jun 18)
|
||||||
|
|
||||||
|
Add options_default() / options_restore() to set several options to Vim
|
||||||
|
defaults for a plugin. Comments from Zyx, 2017 May 10.
|
||||||
|
Perhaps use a vimcontext / endvimcontext command block.
|
||||||
|
|
||||||
|
Patch to trigger OptionSet when entering diff mode. (Christian Brabandt, 2017
|
||||||
|
Jul 7)
|
||||||
|
|
||||||
|
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||||
|
Still happens (2017 Jul 9)
|
||||||
|
|
||||||
|
Memory leak in test_arabic.
|
||||||
|
|
||||||
|
Refactored HTML indent file. (Michael Lee, #1821)
|
||||||
|
|
||||||
|
Using uninitialzed value in test_crypt.
|
||||||
|
|
||||||
|
X11: Putting more than about 262040 characters of text on the clipboard and
|
||||||
|
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
||||||
|
clip_x11_request_selection_cb() is called with zero value and length.
|
||||||
|
Also: Get an error message from free() in the process that owns the selection.
|
||||||
|
Seems to happen when the selection is requested the second time, but before
|
||||||
|
clip_x11_convert_selection_cb() is invoked, thus in X library code.
|
||||||
|
Patch to fix this by Kiichi, 2017 Jul 11, #1822)
|
||||||
|
|
||||||
|
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
|
||||||
|
|
||||||
|
When checking if a bufref is valid, also check the buffer number, to catch the
|
||||||
|
case of :bwipe followed by :new.
|
||||||
|
|
||||||
|
Files for Latvian language. (Vitolins, 2017 May 3, #1675)
|
||||||
|
|
||||||
|
MS-Windows: Opening same file in a second gvim hangs. (Sven Bruggemann, 2017
|
||||||
|
Jul 4)
|
||||||
|
|
||||||
|
Setting 'clipboard' to "unnamed" makes a global command very slow (Daniel
|
||||||
|
Drucker, 2017 May 8).
|
||||||
|
This was supposed to be fixed, did it break again somehow?
|
||||||
|
Christian cannot reproduce it.
|
||||||
|
|
||||||
|
Using composing char in mapping does not work properly. maparg() shows the
|
||||||
|
wrong thing. (Nikolai Pavlov, 2017 Jul 8, #1827)
|
||||||
|
Or is this not an actual problem?
|
||||||
|
|
||||||
|
Better TeX indent file. (Christian Brabandt, 2017 May 3)
|
||||||
|
|
||||||
|
Openhab syntax file (mueller, #1678)
|
||||||
|
|
||||||
|
Patch to use a separate code for BS on Windows. (Linwei, #1823)
|
||||||
|
|
||||||
|
Use gvimext.dll from the nightly build? (Issue #249)
|
||||||
|
|
||||||
|
'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,
|
||||||
|
#1736)
|
||||||
|
|
||||||
|
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
||||||
|
8, #1690)
|
||||||
|
|
||||||
|
Include solarized color scheme?
|
||||||
|
|
||||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||||
manager. Problem with Motif?
|
manager. Problem with Motif?
|
||||||
|
|
||||||
|
Bogus characters inserted when triggering indent while changing text.
|
||||||
|
(Vitor Antunes, 2016 Nov 22, #1269)
|
||||||
|
|
||||||
|
Using "wviminfo /tmp/viminfo" does not store file marks that Vim knows about,
|
||||||
|
it only works when merging with an existing file. (Shougo, 2017 Jun 19, #1781)
|
||||||
|
|
||||||
|
Segmentation fault with complete(). (Lifepillar, 2017 Apr 29, #1668)
|
||||||
|
Check for "pat" to be NULL in search_for_exact_line()?
|
||||||
|
How did it get NULL? Comment by Christian, Apr 30.
|
||||||
|
|
||||||
|
Is it possible to keep the complete menu open when calling complete()?
|
||||||
|
(Prabir Shrestha, 2017 May 19, #1713)
|
||||||
|
|
||||||
Memory leak in test97? The string is actually freed. Weird.
|
Memory leak in test97? The string is actually freed. Weird.
|
||||||
|
|
||||||
Patch for shellescape(). (Christian Brabandt, 2017 Apr 20, #1590)
|
assert_fails() can only check for the first error. Make it possible to have
|
||||||
|
it catch multiple errors and check all of them.
|
||||||
Patch for flickering redraw. (Hirohito Higashi, 2017 Apr 23, #1637)
|
|
||||||
|
|
||||||
New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
|
New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
|
||||||
|
|
||||||
Add a toolbar in the terminal. Can be global, above all windows, or specific
|
Add a toolbar in the terminal. Can be global, above all windows, or specific
|
||||||
for one window.
|
for one window.
|
||||||
|
|
||||||
|
Make maparg() also return the raw rhs, so that it doesn't depend on 'cpo'.
|
||||||
|
(Brett Stahlman, 2017 May 23)
|
||||||
|
Even better: add a way to disable a mapping temporarily and re-enable it
|
||||||
|
later. This is for a sub-mode that is active for a short while (one buffer).
|
||||||
|
Still need maplist() to find the mappings. What can we use to identify a
|
||||||
|
mapping? Something unique would be better than the LHS.
|
||||||
|
Perhaps simpler: actually delete the mappings. Use maplist() to list matching
|
||||||
|
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
|
||||||
|
maprestore() to restore (using the output of maplist().
|
||||||
|
|
||||||
|
Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
|
||||||
|
Kiichi, 2016 Feb 28)
|
||||||
|
Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
|
||||||
|
Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
|
||||||
|
|
||||||
|
Add an argument to :mkvimrc (or add aother command) to skip mappings from
|
||||||
|
plugins (source is a Vim script). No need to put these in a .vimrc, they will
|
||||||
|
be defined when the plugin is loaded.
|
||||||
|
|
||||||
Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}])
|
Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}])
|
||||||
tb_highlight(winid, 'ToolBar')
|
tb_highlight(winid, 'ToolBar')
|
||||||
tb_get(winid)
|
tb_get(winid)
|
||||||
@@ -136,6 +271,9 @@ What if there is an invalid character?
|
|||||||
|
|
||||||
Json string with trailing \u should be an error. (Lcd)
|
Json string with trailing \u should be an error. (Lcd)
|
||||||
|
|
||||||
|
import can't be used in define option when include matches too.
|
||||||
|
(Romain Lafourcade, 2017 Jun 18, #1519)
|
||||||
|
|
||||||
When session file has name in argument list but the buffer was deleted, the
|
When session file has name in argument list but the buffer was deleted, the
|
||||||
buffer is not deleted when using the session file. (#1393)
|
buffer is not deleted when using the session file. (#1393)
|
||||||
Should add the buffer in hidden state.
|
Should add the buffer in hidden state.
|
||||||
@@ -147,9 +285,6 @@ Wrong diff highlighting with three files. (2016 Oct 20, #1186)
|
|||||||
Also get E749 on exit.
|
Also get E749 on exit.
|
||||||
Another example in #1309
|
Another example in #1309
|
||||||
|
|
||||||
Patch to change all use of &sw to shiftwidth(). (Tyru, 2017 Feb 19)
|
|
||||||
Wait until maintainers integrate it.
|
|
||||||
|
|
||||||
When deleting a mark or register, leave a tombstone, so that it's also deleted
|
When deleting a mark or register, leave a tombstone, so that it's also deleted
|
||||||
when writing viminfo (and the delete was the most recent action). #1339
|
when writing viminfo (and the delete was the most recent action). #1339
|
||||||
|
|
||||||
@@ -160,6 +295,10 @@ Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
|||||||
|
|
||||||
Completion for :!cmd shows each match twice. #1435
|
Completion for :!cmd shows each match twice. #1435
|
||||||
|
|
||||||
|
Patch to change GUI behavior: instead of changing the window size change the
|
||||||
|
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
|
||||||
|
#703)
|
||||||
|
|
||||||
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
||||||
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
||||||
timer expires.
|
timer expires.
|
||||||
@@ -175,6 +314,12 @@ highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11)
|
|||||||
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
|
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
|
||||||
Fuentes, 2017 Feb 12, #1470)
|
Fuentes, 2017 Feb 12, #1470)
|
||||||
|
|
||||||
|
Add a "keytrans()" function, which turns the internal byte representation of a
|
||||||
|
key into a form that can be used for :map. E.g.
|
||||||
|
let xx = "\<C-Home>"
|
||||||
|
echo keytrans(xx)
|
||||||
|
<C-Home>
|
||||||
|
|
||||||
Check for errors E704 and E705 only does VAR_FUNC, should also do VAR_PARTIAL.
|
Check for errors E704 and E705 only does VAR_FUNC, should also do VAR_PARTIAL.
|
||||||
(Nikolai Pavlov, 2017 Mar 13, #1557)
|
(Nikolai Pavlov, 2017 Mar 13, #1557)
|
||||||
Make a function to check for function-like type?
|
Make a function to check for function-like type?
|
||||||
@@ -188,18 +333,23 @@ Implement optional arguments for functions.
|
|||||||
call Foo(12, all = 0)
|
call Foo(12, all = 0)
|
||||||
call Foo(12, 15, 0)
|
call Foo(12, 15, 0)
|
||||||
|
|
||||||
writefile() does not abort as soon as an error is found. (Nikolai Pavlov,
|
|
||||||
2017 Feb 14, #1476)
|
|
||||||
|
|
||||||
Patch to support on-the-spot and over-the-spot input method. (Ken Takata, 2017
|
Patch to support on-the-spot and over-the-spot input method. (Ken Takata, 2017
|
||||||
Feb 14).
|
Feb 14).
|
||||||
|
|
||||||
|
Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
|
||||||
|
support, or similar.
|
||||||
|
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
||||||
|
|
||||||
Add a command to take a range of lines, filter them and put the output
|
Add a command to take a range of lines, filter them and put the output
|
||||||
somewhere else. :{range}copy {dest} !cmd
|
somewhere else. :{range}copy {dest} !cmd
|
||||||
|
|
||||||
Patch to fix that empty first tab is not in session.
|
Patch to fix that empty first tab is not in session.
|
||||||
(Hirohito Higashi, 2016 Nov 25, #1282)
|
(Hirohito Higashi, 2016 Nov 25, #1282)
|
||||||
|
|
||||||
|
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
|
||||||
|
Alternative from Christian Brabandt. (2010 Sep 19)
|
||||||
|
New one from Yasuhiro Matsumoto, #1277.
|
||||||
|
|
||||||
Patch for restoring wide characters in the console buffer.
|
Patch for restoring wide characters in the console buffer.
|
||||||
(Ken Takata, 2016 Jun 7)
|
(Ken Takata, 2016 Jun 7)
|
||||||
|
|
||||||
@@ -213,9 +363,6 @@ The TermResponse event is not triggered when a plugin has set 'eventignore' to
|
|||||||
"all". Netrw does this. (Gary Johnson, 2017 Jan 24)
|
"all". Netrw does this. (Gary Johnson, 2017 Jan 24)
|
||||||
Postpone the event until 'eventignore' is reset.
|
Postpone the event until 'eventignore' is reset.
|
||||||
|
|
||||||
Patch to make urxvt mouse work better, recognize Esc[*M termcap code.
|
|
||||||
(Maurice Bos, 2017 Feb 17, #1486)
|
|
||||||
|
|
||||||
Expanding /**/ is slow. Idea by Luc Hermitte, 2017 Apr 14.
|
Expanding /**/ is slow. Idea by Luc Hermitte, 2017 Apr 14.
|
||||||
|
|
||||||
Once .exe with updated installer is available: Add remark to download page
|
Once .exe with updated installer is available: Add remark to download page
|
||||||
@@ -249,11 +396,26 @@ Patch for wrong cursor position on wrapped line, involving breakindent.
|
|||||||
(Ozaki Kiichi, 2016 Nov 25)
|
(Ozaki Kiichi, 2016 Nov 25)
|
||||||
Does this also fix #1408 ?
|
Does this also fix #1408 ?
|
||||||
|
|
||||||
|
Patch to add "module" to quickfix entries. (Coot, 2017 Jun 8, #1757)
|
||||||
|
|
||||||
|
'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
|
||||||
|
|
||||||
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
||||||
|
|
||||||
|
Patch to be able to separately map CTRL-H and BS on Windows.
|
||||||
|
(Linwei, 2017 Jul 11, #1833)
|
||||||
|
|
||||||
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
|
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
|
||||||
Apr 23, #1653)
|
Apr 23, #1653)
|
||||||
|
|
||||||
|
Using an external diff is inefficient. Not all systems have a good diff
|
||||||
|
program available (esp. MS-Windows). Would be nice to have in internal diff
|
||||||
|
implementation. Can then also use this for displaying changes within a line.
|
||||||
|
Olaf Dabrunz is working on this. (10 Jan 2016)
|
||||||
|
9 Instead invoking an external diff program, use builtin code. One can be
|
||||||
|
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
||||||
|
It's complicated and badly documented.
|
||||||
|
|
||||||
Window resizing with 'winfixheight': With a vertical split the height changes
|
Window resizing with 'winfixheight': With a vertical split the height changes
|
||||||
anyway. (Tommy allen, 2017 Feb 21, #1502)
|
anyway. (Tommy allen, 2017 Feb 21, #1502)
|
||||||
|
|
||||||
@@ -310,9 +472,6 @@ Include the test.
|
|||||||
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
||||||
New update 2017 Apr 10, #1628
|
New update 2017 Apr 10, #1628
|
||||||
|
|
||||||
Unnamed register only contains the last deleted text when appending deleted
|
|
||||||
text to a register. (Wolfgang Jeltsch, reproduced by Ben Fritz, 2017 Apr 10)
|
|
||||||
|
|
||||||
When 'keywordprg' starts with ":" the argument is still escaped as a shell
|
When 'keywordprg' starts with ":" the argument is still escaped as a shell
|
||||||
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
||||||
|
|
||||||
@@ -330,6 +489,8 @@ execute() cannot be used with command completeion. (Daniel Hahler, 2016 Oct 1,
|
|||||||
|
|
||||||
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
||||||
|
|
||||||
|
:map X may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816)
|
||||||
|
|
||||||
Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25)
|
Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25)
|
||||||
|
|
||||||
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
|
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
|
||||||
@@ -369,15 +530,9 @@ Autocommands blocked in do_arg_all(). Supposed to happen later?
|
|||||||
|
|
||||||
'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
|
'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
|
||||||
|
|
||||||
Patch to add context information to quickfix/location list. (Yegappan
|
|
||||||
Lakshmanan, 2016 Aug 25, #1012)
|
|
||||||
|
|
||||||
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
|
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
|
||||||
Otherwise task flickers in taskbar.
|
Otherwise task flickers in taskbar.
|
||||||
|
|
||||||
Bogus characters inserted when triggering indent while changing test.
|
|
||||||
(Vitor Antunes, 2016 Nov 22, #1269)
|
|
||||||
|
|
||||||
Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
|
Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
|
||||||
Also for ":@.".
|
Also for ":@.".
|
||||||
|
|
||||||
@@ -397,9 +552,6 @@ This does not work: :set cscopequickfix=a-
|
|||||||
|
|
||||||
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
|
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
|
||||||
|
|
||||||
Patch to add separate highlighting for quickfix current line.
|
|
||||||
(anishsane, 2016 Sep 16, #1080)
|
|
||||||
|
|
||||||
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
|
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
|
||||||
|
|
||||||
Patch to improve map documentation. Issue #799.
|
Patch to improve map documentation. Issue #799.
|
||||||
@@ -444,6 +596,8 @@ No test, needs some work to include.
|
|||||||
Patch to improve indenting for C++ constructor with initializer list.
|
Patch to improve indenting for C++ constructor with initializer list.
|
||||||
(Hirohito Higashi, 2016 Mar 31)
|
(Hirohito Higashi, 2016 Mar 31)
|
||||||
|
|
||||||
|
Zero-out krypt key information when no longer in use. (Ben Fritz, 2017 May 15)
|
||||||
|
|
||||||
Add stronger encryption. Could use libsodium (NaCl).
|
Add stronger encryption. Could use libsodium (NaCl).
|
||||||
https://github.com/jedisct1/libsodium/
|
https://github.com/jedisct1/libsodium/
|
||||||
Possibly include the needed code so that it can be build everywhere.
|
Possibly include the needed code so that it can be build everywhere.
|
||||||
@@ -451,11 +605,6 @@ Possibly include the needed code so that it can be build everywhere.
|
|||||||
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
|
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
|
||||||
but the reference remains valid.
|
but the reference remains valid.
|
||||||
|
|
||||||
Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
|
|
||||||
Kiichi, 2016 Feb 28)
|
|
||||||
Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
|
|
||||||
Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
|
|
||||||
|
|
||||||
Need to try out instructions in INSSTALLpc.txt about how to install all
|
Need to try out instructions in INSSTALLpc.txt about how to install all
|
||||||
interfaces and how to build Vim with them.
|
interfaces and how to build Vim with them.
|
||||||
Appveyor build with self-installing executable, includes getting most
|
Appveyor build with self-installing executable, includes getting most
|
||||||
@@ -493,10 +642,6 @@ When command names are very long :command output is difficult to read. Use a
|
|||||||
maximum for the column width? (#871)
|
maximum for the column width? (#871)
|
||||||
Patcy by varmanishant, 2016 Jun 18, #876
|
Patcy by varmanishant, 2016 Jun 18, #876
|
||||||
|
|
||||||
Patch to change GUI behavior: instead of changing the window size change the
|
|
||||||
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
|
|
||||||
#703)
|
|
||||||
|
|
||||||
Installation of .desktop files does not work everywhere.
|
Installation of .desktop files does not work everywhere.
|
||||||
It's now fixed, but the target directory probably isn't right.
|
It's now fixed, but the target directory probably isn't right.
|
||||||
Add configure check?
|
Add configure check?
|
||||||
@@ -572,8 +717,6 @@ Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3)
|
|||||||
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)
|
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)
|
||||||
Only remembers one error.
|
Only remembers one error.
|
||||||
|
|
||||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
|
||||||
|
|
||||||
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
||||||
|
|
||||||
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
||||||
@@ -615,7 +758,8 @@ Value of virtcol() for '[ and '] depend on multi-byte character.
|
|||||||
(Luchr, #277)
|
(Luchr, #277)
|
||||||
|
|
||||||
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
||||||
'cursorline'/'cursorcolumn' are a lot faster?
|
'cursorline'/'cursorcolumn' are a lot faster? Thus store the attributes
|
||||||
|
before combining them.
|
||||||
|
|
||||||
C highlighting: modern C allows: /* comment */ #ifdef
|
C highlighting: modern C allows: /* comment */ #ifdef
|
||||||
and also line continuation after #include.
|
and also line continuation after #include.
|
||||||
@@ -640,11 +784,6 @@ Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan
|
|||||||
MS-Windows: Crash opening very long file name starting with "\\".
|
MS-Windows: Crash opening very long file name starting with "\\".
|
||||||
(Christian Brock, 2012 Jun 29)
|
(Christian Brock, 2012 Jun 29)
|
||||||
|
|
||||||
Using an external diff is inefficient. Not all systems have a good diff
|
|
||||||
program available (esp. MS-Windows). Would be nice to have in internal diff
|
|
||||||
implementation. Can then also use this for displaying changes within a line.
|
|
||||||
Olaf Dabrunz is working on this.
|
|
||||||
|
|
||||||
The OptionSet autocommand event is not always triggered. (Rick Howe, 2015 Sep
|
The OptionSet autocommand event is not always triggered. (Rick Howe, 2015 Sep
|
||||||
24): :diffthis, :diffoff.
|
24): :diffthis, :diffoff.
|
||||||
|
|
||||||
@@ -930,8 +1069,6 @@ Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
|
|||||||
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
|
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
|
||||||
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
|
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
|
||||||
|
|
||||||
/[b-a] gives error E16, should probably be E769.
|
|
||||||
|
|
||||||
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
|
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
|
||||||
pixels remains when typing spaces in front of a "D" ('guifont' set to
|
pixels remains when typing spaces in front of a "D" ('guifont' set to
|
||||||
"lucida_console:h8").
|
"lucida_console:h8").
|
||||||
@@ -1342,9 +1479,6 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
|
|||||||
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
|
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
|
||||||
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
|
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
|
||||||
|
|
||||||
'colorcolumn' has higher priority than hlsearch. Should probably be the other
|
|
||||||
way around. (Nazri Ramliy, 2013 Feb 19)
|
|
||||||
|
|
||||||
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
|
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
|
||||||
exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
|
exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
|
||||||
9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
|
9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
|
||||||
@@ -1393,14 +1527,13 @@ setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
|||||||
7 The 'directory' option supports changing path separators to "%" to make
|
7 The 'directory' option supports changing path separators to "%" to make
|
||||||
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
||||||
Patch by Christian Brabandt, 2010 Oct 21.
|
Patch by Christian Brabandt, 2010 Oct 21.
|
||||||
|
Is this an update: related to: #179
|
||||||
|
https://github.com/chrisbra/vim-mq-patches/blob/master/backupdir
|
||||||
|
Fixed patch 2017 Jul 1.
|
||||||
|
|
||||||
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
||||||
2010 Oct 24)
|
2010 Oct 24)
|
||||||
|
|
||||||
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
|
|
||||||
Alternative from Christian Brabandt. (2010 Sep 19)
|
|
||||||
New one from Yasuhiro Matsumoto, #1277.
|
|
||||||
|
|
||||||
Messages in message.txt are highlighted as examples.
|
Messages in message.txt are highlighted as examples.
|
||||||
|
|
||||||
When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
|
When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
|
||||||
@@ -1519,8 +1652,6 @@ When a:base in 'completefunc' starts with a number it's passed as a number,
|
|||||||
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
|
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
|
||||||
string value.
|
string value.
|
||||||
|
|
||||||
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
|
||||||
|
|
||||||
For running gvim on a USB stick: avoid the OLE registration. Use a command
|
For running gvim on a USB stick: avoid the OLE registration. Use a command
|
||||||
line argument -noregister.
|
line argument -noregister.
|
||||||
|
|
||||||
@@ -2342,13 +2473,6 @@ respond to selection requests. Invoking XtDisownSelection() before executing
|
|||||||
the shell doesn't help. Would require forking and doing a message loop, like
|
the shell doesn't help. Would require forking and doing a message loop, like
|
||||||
what happens for the GUI.
|
what happens for the GUI.
|
||||||
|
|
||||||
X11: Putting more than about 262040 characters of text on the clipboard and
|
|
||||||
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
|
||||||
clip_x11_request_selection_cb() is called with zero value and length.
|
|
||||||
Also: Get an error message from free() in the process that owns the selection.
|
|
||||||
Seems to happen when the selection is requested the second time, but before
|
|
||||||
clip_x11_convert_selection_cb() is invoked, thus in X library code.
|
|
||||||
|
|
||||||
":vimgrep" does not recognize a recursive symlink. Is it possible to detect
|
":vimgrep" does not recognize a recursive symlink. Is it possible to detect
|
||||||
this, at least for Unix (using device/inode)?
|
this, at least for Unix (using device/inode)?
|
||||||
|
|
||||||
@@ -3211,18 +3335,6 @@ Most interesting new features to be added when all bugs have been fixed:
|
|||||||
Alternative: Make a function for Ex commands: cmd_edit().
|
Alternative: Make a function for Ex commands: cmd_edit().
|
||||||
- Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block
|
- Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block
|
||||||
can be selected with CTRL-V. Allow '$' (end of line) for col2.
|
can be selected with CTRL-V. Allow '$' (end of line) for col2.
|
||||||
- Add DEBUGGER INTERFACE. Implementation for gdb by Xavier de Gaye.
|
|
||||||
Should work like an IDE. Try to keep it generic. Now found here:
|
|
||||||
http://clewn.sf.net.
|
|
||||||
And the idevim plugin/script.
|
|
||||||
To be able to start the debugger from inside Vim: For GUI run a program
|
|
||||||
with a netbeans connection; for console: start a program that splits the
|
|
||||||
terminal, runs the debugger in one window and reconnect Vim I/O to the
|
|
||||||
other window.
|
|
||||||
Wishes for NetBeans commands:
|
|
||||||
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
|
||||||
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
|
||||||
in terminal mode.
|
|
||||||
- ECLIPSE plugin. Problem is: the interface is very complicated. Need to
|
- ECLIPSE plugin. Problem is: the interface is very complicated. Need to
|
||||||
implement part in Java and then connect to Vim. Some hints from Alexandru
|
implement part in Java and then connect to Vim. Some hints from Alexandru
|
||||||
Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR
|
Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR
|
||||||
@@ -3235,9 +3347,6 @@ Most interesting new features to be added when all bugs have been fixed:
|
|||||||
scrolls back to where the cursor is.
|
scrolls back to where the cursor is.
|
||||||
- Scroll commands by screen line. g CTRL-E and g CTRL-Y ? Requires the
|
- Scroll commands by screen line. g CTRL-E and g CTRL-Y ? Requires the
|
||||||
first line to be able to start halfway.
|
first line to be able to start halfway.
|
||||||
- Running a shell command from the GUI still has limitations. Look into how
|
|
||||||
the terminal emulator of the Vim shell project can help:
|
|
||||||
http://vimshell.wana.at
|
|
||||||
8 Add a command to jump to a certain kind of tag. Allow the user to specify
|
8 Add a command to jump to a certain kind of tag. Allow the user to specify
|
||||||
values for the optional fields. E.g., ":tag size type=m".
|
values for the optional fields. E.g., ":tag size type=m".
|
||||||
Also allow specifying the file and command, so that the result of
|
Also allow specifying the file and command, so that the result of
|
||||||
@@ -3426,9 +3535,6 @@ Spell checking:
|
|||||||
Diff mode:
|
Diff mode:
|
||||||
9 When making small changes, e.g. deleting a character, update the diff.
|
9 When making small changes, e.g. deleting a character, update the diff.
|
||||||
Possibly without running diff.
|
Possibly without running diff.
|
||||||
9 Instead invoking an external diff program, use builtin code. One can be
|
|
||||||
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
|
||||||
It's quite big and badly documented though.
|
|
||||||
8 Also show difference with the file when editing started? Should show what
|
8 Also show difference with the file when editing started? Should show what
|
||||||
can be undone. (Tom Popovich)
|
can be undone. (Tom Popovich)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_01.txt* For Vim version 8.0. Last change: 2010 Nov 03
|
*usr_01.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -140,19 +140,19 @@ On other systems, you have to do a little work:
|
|||||||
|
|
||||||
1. Copy the tutor file. You can do this with Vim (it knows where to find it):
|
1. Copy the tutor file. You can do this with Vim (it knows where to find it):
|
||||||
>
|
>
|
||||||
vim -u NONE -c 'e $VIMRUNTIME/tutor/tutor' -c 'w! TUTORCOPY' -c 'q'
|
vim --clean -c 'e $VIMRUNTIME/tutor/tutor' -c 'w! TUTORCOPY' -c 'q'
|
||||||
<
|
<
|
||||||
This will write the file "TUTORCOPY" in the current directory. To use a
|
This will write the file "TUTORCOPY" in the current directory. To use a
|
||||||
translated version of the tutor, append the two-letter language code to the
|
translated version of the tutor, append the two-letter language code to the
|
||||||
filename. For French:
|
filename. For French:
|
||||||
>
|
>
|
||||||
vim -u NONE -c 'e $VIMRUNTIME/tutor/tutor.fr' -c 'w! TUTORCOPY' -c 'q'
|
vim --clean -c 'e $VIMRUNTIME/tutor/tutor.fr' -c 'w! TUTORCOPY' -c 'q'
|
||||||
<
|
<
|
||||||
2. Edit the copied file with Vim:
|
2. Edit the copied file with Vim:
|
||||||
>
|
>
|
||||||
vim -u NONE -c "set nocp" TUTORCOPY
|
vim --clean TUTORCOPY
|
||||||
<
|
<
|
||||||
The extra arguments make sure Vim is started in a good mood.
|
The --clean argument makes sure Vim is started with nice defaults.
|
||||||
|
|
||||||
3. Delete the copied file when you are finished with it:
|
3. Delete the copied file when you are finished with it:
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ mouse button. The selected text will be inserted.
|
|||||||
The "current selection" will only remain valid until some other text is
|
The "current selection" will only remain valid until some other text is
|
||||||
selected. After doing the paste in the other gVim, now select some characters
|
selected. After doing the paste in the other gVim, now select some characters
|
||||||
in that window. You will notice that the words that were previously selected
|
in that window. You will notice that the words that were previously selected
|
||||||
in the other gVim window are displayed differently. This means that it no
|
in the other gvim window are displayed differently. This means that it no
|
||||||
longer is the current selection.
|
longer is the current selection.
|
||||||
|
|
||||||
You don't need to select text with the mouse, using the keyboard commands for
|
You don't need to select text with the mouse, using the keyboard commands for
|
||||||
@@ -215,7 +215,7 @@ USING BOTH
|
|||||||
|
|
||||||
This use of both the "current selection" and the "real clipboard" might sound
|
This use of both the "current selection" and the "real clipboard" might sound
|
||||||
a bit confusing. But it is very useful. Let's show this with an example.
|
a bit confusing. But it is very useful. Let's show this with an example.
|
||||||
Use one gVim with a text file and perform these actions:
|
Use one gvim with a text file and perform these actions:
|
||||||
|
|
||||||
- Select two words in Visual mode.
|
- Select two words in Visual mode.
|
||||||
- Use the Edit/Copy menu to get these words onto the clipboard.
|
- Use the Edit/Copy menu to get these words onto the clipboard.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_44.txt* For Vim version 8.0. Last change: 2008 Dec 28
|
*usr_44.txt* For Vim version 8.0. Last change: 2017 May 06
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -686,7 +686,7 @@ that included files do this too, you might have to reset "b:current_syntax" if
|
|||||||
you include two files.
|
you include two files.
|
||||||
|
|
||||||
If you want your syntax file to work with Vim 5.x, add a check for v:version.
|
If you want your syntax file to work with Vim 5.x, add a check for v:version.
|
||||||
See yacc.vim for an example.
|
Find an syntax file in the Vim 7.2 distribution for an example.
|
||||||
|
|
||||||
Do not include anything that is a user preference. Don't set 'tabstop',
|
Do not include anything that is a user preference. Don't set 'tabstop',
|
||||||
'expandtab', etc. These belong in a filetype plugin.
|
'expandtab', etc. These belong in a filetype plugin.
|
||||||
|
|||||||
@@ -9250,7 +9250,7 @@ Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
|
|||||||
src/proto/quickfix.pro, src/quickfix.c
|
src/proto/quickfix.pro, src/quickfix.c
|
||||||
|
|
||||||
Patch 6.1.424 (extra)
|
Patch 6.1.424 (extra)
|
||||||
Problem: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show
|
Problem: Win32: gvim compiled with VC++ 7.0 run on Windows 95 does not show
|
||||||
menu items.
|
menu items.
|
||||||
Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO.
|
Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO.
|
||||||
(Muraoka Taro)
|
(Muraoka Taro)
|
||||||
@@ -12319,7 +12319,7 @@ Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled.
|
|||||||
Files: src/gui_w32.c
|
Files: src/gui_w32.c
|
||||||
|
|
||||||
Patch 6.2.362 (extra, after 6.2.347)
|
Patch 6.2.362 (extra, after 6.2.347)
|
||||||
Problem: Win32: The manifest causes Gvim not to work. (Dave Roberts)
|
Problem: Win32: The manifest causes gvim not to work. (Dave Roberts)
|
||||||
Solution: Change "x86" to "X86". (Serge Pirotte)
|
Solution: Change "x86" to "X86". (Serge Pirotte)
|
||||||
Files: src/gvim.exe.mnf
|
Files: src/gvim.exe.mnf
|
||||||
|
|
||||||
|
|||||||
@@ -4151,7 +4151,7 @@ Patch 7.0.173
|
|||||||
Problem: ":call f().TT()" doesn't work. (Richard Emberson)
|
Problem: ":call f().TT()" doesn't work. (Richard Emberson)
|
||||||
Solution: When a function returns a Dictionary or another composite continue
|
Solution: When a function returns a Dictionary or another composite continue
|
||||||
evaluating what follows.
|
evaluating what follows.
|
||||||
Files: src/eval.c
|
Files: src/eval.c
|
||||||
|
|
||||||
Patch 7.0.174
|
Patch 7.0.174
|
||||||
Problem: ":mksession" doesn't restore window layout correctly in tab pages
|
Problem: ":mksession" doesn't restore window layout correctly in tab pages
|
||||||
@@ -4265,7 +4265,7 @@ Problem: When 'swapfile' is switched off in an empty file it is possible
|
|||||||
that not all blocks are loaded into memory, causing ml_get errors
|
that not all blocks are loaded into memory, causing ml_get errors
|
||||||
later.
|
later.
|
||||||
Solution: Rename "dont_release" to "mf_dont_release" and also use it to
|
Solution: Rename "dont_release" to "mf_dont_release" and also use it to
|
||||||
avoid using the cached line and locked block.
|
avoid using the cached line and locked block.
|
||||||
Files: src/globals.h, src/memfile.c, src/memline.c
|
Files: src/globals.h, src/memfile.c, src/memline.c
|
||||||
|
|
||||||
Patch 7.0.193
|
Patch 7.0.193
|
||||||
@@ -6031,7 +6031,7 @@ Solution: Add type casts. (Ben Schmidt)
|
|||||||
Files: src/version.c
|
Files: src/version.c
|
||||||
|
|
||||||
Patch 7.1.207
|
Patch 7.1.207
|
||||||
Problem: Netbeans: "remove" cannot delete one line.
|
Problem: Netbeans: "remove" cannot delete one line.
|
||||||
Solution: Remove partial lines and whole lines properly. Avoid a memory
|
Solution: Remove partial lines and whole lines properly. Avoid a memory
|
||||||
leak. (Xavier de Gaye)
|
leak. (Xavier de Gaye)
|
||||||
Files: src/netbeans.c
|
Files: src/netbeans.c
|
||||||
@@ -7991,7 +7991,7 @@ Files: src/ex_cmds.c
|
|||||||
|
|
||||||
Patch 7.2.097
|
Patch 7.2.097
|
||||||
Problem: "!xterm&" doesn't work when 'shell' is "bash".
|
Problem: "!xterm&" doesn't work when 'shell' is "bash".
|
||||||
Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert)
|
Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert)
|
||||||
Files: src/os_unix.c
|
Files: src/os_unix.c
|
||||||
|
|
||||||
Patch 7.2.098
|
Patch 7.2.098
|
||||||
@@ -8740,7 +8740,7 @@ Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro,
|
|||||||
src/ui.c
|
src/ui.c
|
||||||
|
|
||||||
Patch 7.2.222
|
Patch 7.2.222
|
||||||
Problem: ":mksession" doesn't work properly with 'acd' set.
|
Problem: ":mksession" doesn't work properly with 'acd' set.
|
||||||
Solution: Make it work. (Yakov Lerner)
|
Solution: Make it work. (Yakov Lerner)
|
||||||
Files: src/ex_docmd.c
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
@@ -9150,7 +9150,7 @@ Solution: Add the missing "else". (Lech Lorens)
|
|||||||
Files: src/ops.c
|
Files: src/ops.c
|
||||||
|
|
||||||
Patch 7.2.293
|
Patch 7.2.293
|
||||||
Problem: When setting 'comments' option it may be used in a wrong way.
|
Problem: When setting 'comments' option it may be used in a wrong way.
|
||||||
Solution: Don't increment after skipping over digits. (Yukihiro Nakadaira)
|
Solution: Don't increment after skipping over digits. (Yukihiro Nakadaira)
|
||||||
Files: src/misc1.c
|
Files: src/misc1.c
|
||||||
|
|
||||||
@@ -10191,32 +10191,32 @@ More information here: |two-engines|
|
|||||||
Better Python interface *better-python-interface*
|
Better Python interface *better-python-interface*
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
Added |python-bindeval| function. Unlike |python-eval| this one returns
|
Added |python-bindeval| function. Unlike |python-eval| this one returns
|
||||||
|python-Dictionary|, |python-List| and |python-Function| objects for
|
|python-Dictionary|, |python-List| and |python-Function| objects for
|
||||||
dictionaries lists and functions respectively in place of their Python
|
dictionaries lists and functions respectively in place of their Python
|
||||||
built-in equivalents (or None if we are talking about function references).
|
built-in equivalents (or None if we are talking about function references).
|
||||||
For simple types this function returns Python built-in types and not only
|
For simple types this function returns Python built-in types and not only
|
||||||
Python `str()` like |python-eval| does. On Python 3 it will return `bytes()`
|
Python `str()` like |python-eval| does. On Python 3 it will return `bytes()`
|
||||||
objects in place of `str()` ones avoiding possibility of UnicodeDecodeError.
|
objects in place of `str()` ones avoiding possibility of UnicodeDecodeError.
|
||||||
Interface of new objects mimics standard Python `dict()` and `list()`
|
Interface of new objects mimics standard Python `dict()` and `list()`
|
||||||
interfaces to some extent. Extent will be improved in the future.
|
interfaces to some extent. Extent will be improved in the future.
|
||||||
|
|
||||||
Added special |python-vars| objects also available for |python-buffer| and
|
Added special |python-vars| objects also available for |python-buffer| and
|
||||||
|python-window|. They ease access to Vim script variables from Python.
|
|python-window|. They ease access to Vim script variables from Python.
|
||||||
|
|
||||||
Now you no longer need to alter `sys.path` to import your module: special
|
Now you no longer need to alter `sys.path` to import your module: special
|
||||||
hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and
|
hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and
|
||||||
{rtp}/pythonx directories (for Python 2, Python 3 and both respectively).
|
{rtp}/pythonx directories (for Python 2, Python 3 and both respectively).
|
||||||
See |python-special-path|.
|
See |python-special-path|.
|
||||||
|
|
||||||
Added possibility to work with |tabpage|s through |python-tabpage| object.
|
Added possibility to work with |tabpage|s through |python-tabpage| object.
|
||||||
|
|
||||||
Added automatic conversion of Vim errors and exceptions to Python
|
Added automatic conversion of Vim errors and exceptions to Python
|
||||||
exceptions.
|
exceptions.
|
||||||
|
|
||||||
Changed the behavior of the |python-buffers| object: it now uses buffer numbers
|
Changed the behavior of the |python-buffers| object: it now uses buffer numbers
|
||||||
as keys in place of the index of the buffer in the internal buffer list.
|
as keys in place of the index of the buffer in the internal buffer list.
|
||||||
This should not break anything as the only way to get this index was
|
This should not break anything as the only way to get this index was
|
||||||
iterating over |python-buffers|.
|
iterating over |python-buffers|.
|
||||||
|
|
||||||
Added |:pydo| and |:py3do| commands.
|
Added |:pydo| and |:py3do| commands.
|
||||||
@@ -10226,7 +10226,7 @@ Added the |pyeval()| and |py3eval()| functions.
|
|||||||
Now in all places which previously accepted `str()` objects, `str()` and
|
Now in all places which previously accepted `str()` objects, `str()` and
|
||||||
`unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted.
|
`unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted.
|
||||||
|
|
||||||
|python-window| has gained `.col` and `.row` attributes that are currently
|
|python-window| has gained `.col` and `.row` attributes that are currently
|
||||||
the only way to get internal window positions.
|
the only way to get internal window positions.
|
||||||
|
|
||||||
Added or fixed support for `dir()` in Vim Python objects.
|
Added or fixed support for `dir()` in Vim Python objects.
|
||||||
@@ -10235,12 +10235,12 @@ Added or fixed support for `dir()` in Vim Python objects.
|
|||||||
Changed *changed-7.4*
|
Changed *changed-7.4*
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Old Python versions (≤2.2) are no longer supported. Building with them did
|
Old Python versions (≤2.2) are no longer supported. Building with them did
|
||||||
not work anyway.
|
not work anyway.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
Added ability to automatically save the selection into the system
|
Added ability to automatically save the selection into the system
|
||||||
clipboard when using non-GUI version of Vim (autoselectplus in
|
clipboard when using non-GUI version of Vim (autoselectplus in
|
||||||
'clipboard'). Also added ability to use the system clipboard as
|
'clipboard'). Also added ability to use the system clipboard as
|
||||||
default register (previously only primary selection could be used).
|
default register (previously only primary selection could be used).
|
||||||
(Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar)
|
(Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar)
|
||||||
@@ -10255,12 +10255,12 @@ Options:
|
|||||||
'relativenumber'. (Christian Brabandt)
|
'relativenumber'. (Christian Brabandt)
|
||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
|:diffoff| now saves the local values of some settings and restores
|
|:diffoff| now saves the local values of some settings and restores
|
||||||
them in place of blindly resetting them to the defaults. (Christian
|
them in place of blindly resetting them to the defaults. (Christian
|
||||||
Brabandt)
|
Brabandt)
|
||||||
|
|
||||||
Other:
|
Other:
|
||||||
Lua interface now also uses userdata binded to Vim structures. (Taro
|
Lua interface now also uses userdata binded to Vim structures. (Taro
|
||||||
Muraoka, Luis Carvalho)
|
Muraoka, Luis Carvalho)
|
||||||
|
|
||||||
glob() and autocommand patterns used to work with the undocumented
|
glob() and autocommand patterns used to work with the undocumented
|
||||||
@@ -10285,74 +10285,74 @@ Functions:
|
|||||||
|
|
||||||
Added |wildmenumode()| function. (Christian Brabandt)
|
Added |wildmenumode()| function. (Christian Brabandt)
|
||||||
|
|
||||||
Debugging functions: |screenattr()|, |screenchar()|, |screencol()|,
|
Debugging functions: |screenattr()|, |screenchar()|, |screencol()|,
|
||||||
|screenrow()|. (Simon Ruderich, Bram Moolenaar)
|
|screenrow()|. (Simon Ruderich, Bram Moolenaar)
|
||||||
|
|
||||||
Added ability to use |Dictionary-function|s for |sort()|ing, via
|
Added ability to use |Dictionary-function|s for |sort()|ing, via
|
||||||
optional third argument. (Nikolay Pavlov)
|
optional third argument. (Nikolay Pavlov)
|
||||||
|
|
||||||
Added special |expand()| argument that expands to the current line
|
Added special |expand()| argument that expands to the current line
|
||||||
number.
|
number.
|
||||||
|
|
||||||
Made it possible to force |char2nr()| to always give unicode codepoints
|
Made it possible to force |char2nr()| to always give unicode codepoints
|
||||||
regardless of current encoding. (Yasuhiro Matsumoto)
|
regardless of current encoding. (Yasuhiro Matsumoto)
|
||||||
|
|
||||||
Made it possible for functions generating file list generate |List|
|
Made it possible for functions generating file list generate |List|
|
||||||
and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian
|
and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian
|
||||||
Brabandt)
|
Brabandt)
|
||||||
|
|
||||||
Functions that obtain variables from the specific window, tabpage or
|
Functions that obtain variables from the specific window, tabpage or
|
||||||
buffer scope dictionary can now return specified default value in
|
buffer scope dictionary can now return specified default value in
|
||||||
place of empty string in case variable is not found. (|gettabvar()|,
|
place of empty string in case variable is not found. (|gettabvar()|,
|
||||||
|getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi)
|
|getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi)
|
||||||
|
|
||||||
Autocommands:
|
Autocommands:
|
||||||
Added |InsertCharPre| event launched before inserting character.
|
Added |InsertCharPre| event launched before inserting character.
|
||||||
(Jakson A. Aquino)
|
(Jakson A. Aquino)
|
||||||
|
|
||||||
Added |CompleteDone| event launched after finishing completion in
|
Added |CompleteDone| event launched after finishing completion in
|
||||||
insert mode. (idea by Florian Klein)
|
insert mode. (idea by Florian Klein)
|
||||||
|
|
||||||
Added |QuitPre| event launched when commands that can either close Vim
|
Added |QuitPre| event launched when commands that can either close Vim
|
||||||
or only some window(s) are launched.
|
or only some window(s) are launched.
|
||||||
|
|
||||||
Added |TextChanged| and |TextChangedI| events launched when text is
|
Added |TextChanged| and |TextChangedI| events launched when text is
|
||||||
changed.
|
changed.
|
||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
|:syntime| command useful for debugging.
|
|:syntime| command useful for debugging.
|
||||||
|
|
||||||
Made it possible to remove all signs from the current buffer using
|
Made it possible to remove all signs from the current buffer using
|
||||||
|:sign-unplace|. (Christian Brabandt)
|
|:sign-unplace|. (Christian Brabandt)
|
||||||
|
|
||||||
Added |:language| autocompletion. (Dominique Pelle)
|
Added |:language| autocompletion. (Dominique Pelle)
|
||||||
|
|
||||||
Added more |:command-complete| completion types: |:behave| suboptions,
|
Added more |:command-complete| completion types: |:behave| suboptions,
|
||||||
color schemes, compilers, |:cscope| suboptions, files from 'path',
|
color schemes, compilers, |:cscope| suboptions, files from 'path',
|
||||||
|:history| suboptions, locale names, |:syntime| suboptions, user
|
|:history| suboptions, locale names, |:syntime| suboptions, user
|
||||||
names. (Dominique Pelle)
|
names. (Dominique Pelle)
|
||||||
|
|
||||||
Added |:map-nowait| creating mapping which when having lhs that is the
|
Added |:map-nowait| creating mapping which when having lhs that is the
|
||||||
prefix of another mapping’s lhs will not allow Vim to wait for user to
|
prefix of another mapping’s lhs will not allow Vim to wait for user to
|
||||||
type more characters to resolve ambiguity, forcing Vim to take the
|
type more characters to resolve ambiguity, forcing Vim to take the
|
||||||
shorter alternative: one with <nowait>.
|
shorter alternative: one with <nowait>.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
Made it possible to ignore case when completing: 'wildignorecase'.
|
Made it possible to ignore case when completing: 'wildignorecase'.
|
||||||
|
|
||||||
Added ability to delete comment leader when using |J| by `j` flag in
|
Added ability to delete comment leader when using |J| by `j` flag in
|
||||||
'formatoptions' (|fo-table|). (Lech Lorens)
|
'formatoptions' (|fo-table|). (Lech Lorens)
|
||||||
|
|
||||||
Added ability to control indentation inside namespaces: |cino-N|.
|
Added ability to control indentation inside namespaces: |cino-N|.
|
||||||
(Konstantin Lepa)
|
(Konstantin Lepa)
|
||||||
|
|
||||||
Added ability to control alignment inside `if` condition separately
|
Added ability to control alignment inside `if` condition separately
|
||||||
from alignment inside function arguments: |cino-k|. (Lech Lorens)
|
from alignment inside function arguments: |cino-k|. (Lech Lorens)
|
||||||
|
|
||||||
Other:
|
Other:
|
||||||
Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar)
|
Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar)
|
||||||
|
|
||||||
Added |v:windowid| variable containing current window number in GUI
|
Added |v:windowid| variable containing current window number in GUI
|
||||||
Vim. (Christian J. Robinson, Lech Lorens)
|
Vim. (Christian J. Robinson, Lech Lorens)
|
||||||
|
|
||||||
Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito)
|
Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito)
|
||||||
@@ -11923,7 +11923,7 @@ Solution: Pass the separator character to in_history(). (Taro Muraoka)
|
|||||||
Files: src/ex_getln.c
|
Files: src/ex_getln.c
|
||||||
|
|
||||||
Patch 7.3.266
|
Patch 7.3.266
|
||||||
Problem: In Gvim with iBus typing space in Insert mode doesn't work.
|
Problem: In gvim with iBus typing space in Insert mode doesn't work.
|
||||||
Solution: Clear xim_expected_char after checking it.
|
Solution: Clear xim_expected_char after checking it.
|
||||||
Files: src/mbyte.c
|
Files: src/mbyte.c
|
||||||
|
|
||||||
@@ -11938,7 +11938,7 @@ Solution: Use O_NOCTTY both in the master and slave. (Bjorn Winckler)
|
|||||||
Files: src/os_unix.c
|
Files: src/os_unix.c
|
||||||
|
|
||||||
Patch 7.3.269
|
Patch 7.3.269
|
||||||
Problem: 'shellcmdflag' only works with one flag.
|
Problem: 'shellcmdflag' only works with one flag.
|
||||||
Solution: Split into multiple arguments. (Gary Johnson)
|
Solution: Split into multiple arguments. (Gary Johnson)
|
||||||
Files: src/os_unix.c
|
Files: src/os_unix.c
|
||||||
|
|
||||||
@@ -13118,7 +13118,7 @@ Files: src/ops.c
|
|||||||
Patch 7.3.477
|
Patch 7.3.477
|
||||||
Problem: Using ":echo" to output enough lines to scroll, then using "j" and
|
Problem: Using ":echo" to output enough lines to scroll, then using "j" and
|
||||||
"k" at the more prompt, displays the command on top of the output.
|
"k" at the more prompt, displays the command on top of the output.
|
||||||
(Marcin Szamotulski)
|
(Marcin Szamotulski)
|
||||||
Solution: Put the output below the command. (Christian Brabandt)
|
Solution: Put the output below the command. (Christian Brabandt)
|
||||||
Files: src/eval.c
|
Files: src/eval.c
|
||||||
|
|
||||||
@@ -13371,7 +13371,7 @@ Solution: Recognize completefunction returning -3. (Matsushita Shougo)
|
|||||||
Files: src/edit.c
|
Files: src/edit.c
|
||||||
|
|
||||||
Patch 7.3.520
|
Patch 7.3.520
|
||||||
Problem: Gvim starts up slow on Ubuntu 12.04.
|
Problem: gvim starts up slow on Ubuntu 12.04.
|
||||||
Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
|
Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
|
||||||
Matsumoto) Do check $DISPLAY being set.
|
Matsumoto) Do check $DISPLAY being set.
|
||||||
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
|
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
|
||||||
@@ -13424,7 +13424,7 @@ Solution: Make the count select that many characters or lines. (Christian
|
|||||||
Files: src/normal.c
|
Files: src/normal.c
|
||||||
|
|
||||||
Patch 7.3.530 (after 7.3.520)
|
Patch 7.3.530 (after 7.3.520)
|
||||||
Problem: Gvim does not work when 'guioptions' includes "f". (Davido)
|
Problem: gvim does not work when 'guioptions' includes "f". (Davido)
|
||||||
Solution: Call gui_mch_init_check() when running GUI in the foreground.
|
Solution: Call gui_mch_init_check() when running GUI in the foreground.
|
||||||
(Yasuhiro Matsumoto)
|
(Yasuhiro Matsumoto)
|
||||||
Files: src/gui.c
|
Files: src/gui.c
|
||||||
@@ -14287,7 +14287,7 @@ Files: Filelist
|
|||||||
Patch 7.3.682 (after 7.3.677)
|
Patch 7.3.682 (after 7.3.677)
|
||||||
Problem: Compiler complains about incompatible types.
|
Problem: Compiler complains about incompatible types.
|
||||||
Solution: Remove type casts. (hint by Danek Duvall)
|
Solution: Remove type casts. (hint by Danek Duvall)
|
||||||
Files: src/edit.c
|
Files: src/edit.c
|
||||||
|
|
||||||
Patch 7.3.683
|
Patch 7.3.683
|
||||||
Problem: ":python" may crash when vimbindeval() returns None.
|
Problem: ":python" may crash when vimbindeval() returns None.
|
||||||
@@ -16340,7 +16340,7 @@ Solution: Avoid negative argument to vim_strncpy(). (Narendran
|
|||||||
Files: src/if_cscope.c
|
Files: src/if_cscope.c
|
||||||
|
|
||||||
Patch 7.3.1039
|
Patch 7.3.1039
|
||||||
Problem: New regexp engine does not support \%23c, \%<23c and the like.
|
Problem: New regexp engine does not support \%23c, \%<23c and the like.
|
||||||
Solution: Implement them. (partly by Yasuhiro Matsumoto)
|
Solution: Implement them. (partly by Yasuhiro Matsumoto)
|
||||||
Files: src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in,
|
Files: src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in,
|
||||||
src/testdir/test64.ok
|
src/testdir/test64.ok
|
||||||
@@ -17552,9 +17552,9 @@ Solution: Specify a separate viminfo file.
|
|||||||
Files: src/testdir/test61.in
|
Files: src/testdir/test61.in
|
||||||
|
|
||||||
Patch 7.3.1252
|
Patch 7.3.1252
|
||||||
Problem: Gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
|
Problem: gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
|
||||||
if the corresponding menu command contains additional characters
|
if the corresponding menu command contains additional characters
|
||||||
like the shortcut marker '&' or if you use a non-english locale.
|
like the shortcut marker '&' or if you use a non-english locale.
|
||||||
Solution: Use menu->en_dname or menu->dname. (Martin Gieseking)
|
Solution: Use menu->en_dname or menu->dname. (Martin Gieseking)
|
||||||
Files: src/gui_w32.c
|
Files: src/gui_w32.c
|
||||||
|
|
||||||
@@ -18175,7 +18175,7 @@ Files: src/window.c
|
|||||||
|
|
||||||
Patch 7.4a.045
|
Patch 7.4a.045
|
||||||
Problem: Configure does not always find the right library for Lua. Missing
|
Problem: Configure does not always find the right library for Lua. Missing
|
||||||
support for LuaJit.
|
support for LuaJit.
|
||||||
Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki)
|
Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki)
|
||||||
Files: src/Makefile, src/configure.in, src/auto/configure
|
Files: src/Makefile, src/configure.in, src/auto/configure
|
||||||
|
|
||||||
|
|||||||
@@ -15117,7 +15117,7 @@ Files: src/option.c
|
|||||||
|
|
||||||
Patch 8.0.0101
|
Patch 8.0.0101
|
||||||
Problem: Some options are not strictly checked.
|
Problem: Some options are not strictly checked.
|
||||||
Solution: Add flags for strickter checks.
|
Solution: Add flags for stricter checks.
|
||||||
Files: src/option.c
|
Files: src/option.c
|
||||||
|
|
||||||
Patch 8.0.0102 (after 8.0.0101)
|
Patch 8.0.0102 (after 8.0.0101)
|
||||||
@@ -15766,7 +15766,7 @@ Solution: Change #ifdef around ins_char_bytes.
|
|||||||
Files: src/misc1.c
|
Files: src/misc1.c
|
||||||
|
|
||||||
Patch 8.0.0212
|
Patch 8.0.0212
|
||||||
Problem: The buffer used to store a key name theoreticaly could be too
|
Problem: The buffer used to store a key name theoretically could be too
|
||||||
small. (Coverity)
|
small. (Coverity)
|
||||||
Solution: Count all possible modifier characters. Add a check for the
|
Solution: Count all possible modifier characters. Add a check for the
|
||||||
length just in case.
|
length just in case.
|
||||||
@@ -15834,7 +15834,7 @@ Files: src/ops.c, src/testdir/test_put.vim, src/Makefile,
|
|||||||
|
|
||||||
Patch 8.0.0223
|
Patch 8.0.0223
|
||||||
Problem: Coverity gets confused by the flags passed to find_tags() and
|
Problem: Coverity gets confused by the flags passed to find_tags() and
|
||||||
warnts for an uninitialized variable.
|
warns about uninitialized variable.
|
||||||
Solution: Disallow using cscope and help tags at the same time.
|
Solution: Disallow using cscope and help tags at the same time.
|
||||||
Files: src/tag.c
|
Files: src/tag.c
|
||||||
|
|
||||||
@@ -15955,7 +15955,7 @@ Files: src/testdir/test_usercommands.vim
|
|||||||
|
|
||||||
Patch 8.0.0243
|
Patch 8.0.0243
|
||||||
Problem: When making a character lower case with tolower() changes the byte
|
Problem: When making a character lower case with tolower() changes the byte
|
||||||
cound, it is not made lower case.
|
count, it is not made lower case.
|
||||||
Solution: Add strlow_save(). (Dominique Pelle, closes #1406)
|
Solution: Add strlow_save(). (Dominique Pelle, closes #1406)
|
||||||
Files: src/evalfunc.c, src/misc2.c, src/proto/misc2.pro,
|
Files: src/evalfunc.c, src/misc2.c, src/proto/misc2.pro,
|
||||||
src/testdir/test_functions.vim
|
src/testdir/test_functions.vim
|
||||||
@@ -16032,9 +16032,9 @@ Files: src/Makefile, src/charset.c, src/kword_test.c, src/mbyte.c,
|
|||||||
src/proto/mbyte.pro
|
src/proto/mbyte.pro
|
||||||
|
|
||||||
Patch 8.0.0253
|
Patch 8.0.0253
|
||||||
Problem: When creating a session when winminheight is 2 or larger and
|
Problem: When creating a session when 'winminheight' is 2 or larger and
|
||||||
loading that session gives an error.
|
loading that session gives an error.
|
||||||
Solution: Also set winminheight before setting winheight to 1. (Rafael
|
Solution: Also set 'winminheight' before setting 'winheight' to 1. (Rafael
|
||||||
Bodill, neovim #5717)
|
Bodill, neovim #5717)
|
||||||
Files: src/ex_docmd.c, src/testdir/test_mksession.vim
|
Files: src/ex_docmd.c, src/testdir/test_mksession.vim
|
||||||
|
|
||||||
@@ -16541,7 +16541,7 @@ Solution: For quoted text objects bail out if the Visual area spans more
|
|||||||
Files: src/search.c, src/testdir/test_visual.vim
|
Files: src/search.c, src/testdir/test_visual.vim
|
||||||
|
|
||||||
Patch 8.0.0340
|
Patch 8.0.0340
|
||||||
Problem: Not checking return valud of dict_add(). (Coverity)
|
Problem: Not checking return value of dict_add(). (Coverity)
|
||||||
Solution: Handle a failure.
|
Solution: Handle a failure.
|
||||||
Files: src/buffer.c
|
Files: src/buffer.c
|
||||||
|
|
||||||
@@ -16612,12 +16612,12 @@ Files: src/testdir/test_expr.vim
|
|||||||
Patch 8.0.0352
|
Patch 8.0.0352
|
||||||
Problem: The condition for when a typval needs to be cleared is too
|
Problem: The condition for when a typval needs to be cleared is too
|
||||||
complicated.
|
complicated.
|
||||||
Solution: Init the type to VAR_UNKNOWN and clear it always.
|
Solution: Init the type to VAR_UNKNOWN and always clear it.
|
||||||
Files: src/eval.c
|
Files: src/eval.c
|
||||||
|
|
||||||
Patch 8.0.0353
|
Patch 8.0.0353
|
||||||
Problem: If [RO] in the status line is translated to a longer string, it is
|
Problem: If [RO] in the status line is translated to a longer string, it is
|
||||||
trunctted to 4 bytes.
|
truncated to 4 bytes.
|
||||||
Solution: Skip over the resulting string. (Jente Hidskes, closes #1499)
|
Solution: Skip over the resulting string. (Jente Hidskes, closes #1499)
|
||||||
Files: src/screen.c
|
Files: src/screen.c
|
||||||
|
|
||||||
@@ -16827,7 +16827,7 @@ Patch 8.0.0388
|
|||||||
Problem: filtering lines through "cat", without changing the line count,
|
Problem: filtering lines through "cat", without changing the line count,
|
||||||
changes manual folds.
|
changes manual folds.
|
||||||
Solution: Change how marks and folds are adjusted. (Matthew Malcomson, from
|
Solution: Change how marks and folds are adjusted. (Matthew Malcomson, from
|
||||||
neovim #6194.
|
neovim #6194).
|
||||||
Files: src/fold.c, src/testdir/test_fold.vim
|
Files: src/fold.c, src/testdir/test_fold.vim
|
||||||
|
|
||||||
Patch 8.0.0389
|
Patch 8.0.0389
|
||||||
@@ -17294,7 +17294,7 @@ Files: src/misc2.c
|
|||||||
|
|
||||||
Patch 8.0.0461 (after 8.0.0457)
|
Patch 8.0.0461 (after 8.0.0457)
|
||||||
Problem: Test 45 hangs on MS-Windows.
|
Problem: Test 45 hangs on MS-Windows.
|
||||||
Solution: Reset 'shiftwidth'. Also remove redundent function.
|
Solution: Reset 'shiftwidth'. Also remove redundant function.
|
||||||
Files: src/fold.c, src/testdir/test45.in
|
Files: src/fold.c, src/testdir/test45.in
|
||||||
|
|
||||||
Patch 8.0.0462
|
Patch 8.0.0462
|
||||||
@@ -17499,7 +17499,7 @@ Files: src/evalfunc.c, src/if_xcmdsrv.c, src/proto/if_xcmdsrv.pro,
|
|||||||
|
|
||||||
Patch 8.0.0493
|
Patch 8.0.0493
|
||||||
Problem: Crash with cd command with very long argument.
|
Problem: Crash with cd command with very long argument.
|
||||||
Solution: Check for running out of space. (Dominique pending, closes #1576)
|
Solution: Check for running out of space. (Dominique Pelle, closes #1576)
|
||||||
Files: src/testdir/test_alot.vim, src/testdir/test_cd.vim, src/Makefile,
|
Files: src/testdir/test_alot.vim, src/testdir/test_cd.vim, src/Makefile,
|
||||||
src/misc2.c
|
src/misc2.c
|
||||||
|
|
||||||
@@ -17597,7 +17597,7 @@ Solution: Remove duplicate https:.
|
|||||||
Files: README.md
|
Files: README.md
|
||||||
|
|
||||||
Patch 8.0.0511
|
Patch 8.0.0511
|
||||||
Problem: Menuage for skipping client-server tests is unclear.
|
Problem: Message for skipping client-server tests is unclear.
|
||||||
Solution: Be more specific about what's missing (Hirohito Higashi, Kazunobu
|
Solution: Be more specific about what's missing (Hirohito Higashi, Kazunobu
|
||||||
Kuriyama)
|
Kuriyama)
|
||||||
Files: src/testdir/test_quotestar.vim, src/testdir/test_clientserver.vim
|
Files: src/testdir/test_quotestar.vim, src/testdir/test_clientserver.vim
|
||||||
@@ -17688,7 +17688,7 @@ Solution: Include the whole character.
|
|||||||
Files: src/search.c, src/testdir/test_normal.vim
|
Files: src/search.c, src/testdir/test_normal.vim
|
||||||
|
|
||||||
Patch 8.0.0524 (after 8.0.0518)
|
Patch 8.0.0524 (after 8.0.0518)
|
||||||
Problem: Folds are messed up when 'encodin' is "utf-8".
|
Problem: Folds are messed up when 'encoding' is "utf-8".
|
||||||
Solution: Also set the fold character when it's not multi-byte.
|
Solution: Also set the fold character when it's not multi-byte.
|
||||||
Files: src/screen.c, src/testdir/test_display.vim
|
Files: src/screen.c, src/testdir/test_display.vim
|
||||||
|
|
||||||
@@ -17882,7 +17882,7 @@ Solution: Add a test. (Dominique Pelle, closes #1622)
|
|||||||
Files: src/testdir/test_syntax.vim
|
Files: src/testdir/test_syntax.vim
|
||||||
|
|
||||||
Patch 8.0.0559
|
Patch 8.0.0559
|
||||||
Problem: Setting ttytype to xxx does not always fail as expected. (Marvin
|
Problem: Setting 'ttytype' to xxx does not always fail as expected. (Marvin
|
||||||
Schmidt)
|
Schmidt)
|
||||||
Solution: Catch both possible errors. (closes #1601)
|
Solution: Catch both possible errors. (closes #1601)
|
||||||
Files: src/testdir/test_options.vim
|
Files: src/testdir/test_options.vim
|
||||||
@@ -17919,7 +17919,7 @@ Solution: Set qf_last to NULL.
|
|||||||
Files: src/quickfix.c
|
Files: src/quickfix.c
|
||||||
|
|
||||||
Patch 8.0.0566
|
Patch 8.0.0566
|
||||||
Problem: Setting nocompatible for the tiny version moves the cursor.
|
Problem: Setting 'nocompatible' for the tiny version moves the cursor.
|
||||||
Solution: Use another trick to skip commands when the +eval feature is
|
Solution: Use another trick to skip commands when the +eval feature is
|
||||||
present. (Christian Brabandt, closes #1630)
|
present. (Christian Brabandt, closes #1630)
|
||||||
Files: runtime/defaults.vim
|
Files: runtime/defaults.vim
|
||||||
@@ -17938,7 +17938,7 @@ Files: src/testdir/test_goto.vim, src/normal.c
|
|||||||
Patch 8.0.0569
|
Patch 8.0.0569
|
||||||
Problem: Bracketed paste is still enabled when executing a shell command.
|
Problem: Bracketed paste is still enabled when executing a shell command.
|
||||||
(Michael Smith)
|
(Michael Smith)
|
||||||
Solution: Disable brackted paste when going into cooked mode. (closes #1638)
|
Solution: Disable bracketed paste when going into cooked mode. (closes #1638)
|
||||||
Files: src/term.c
|
Files: src/term.c
|
||||||
|
|
||||||
Patch 8.0.0570
|
Patch 8.0.0570
|
||||||
@@ -17978,7 +17978,7 @@ Solution: Make a copy of 'indentexpr'.
|
|||||||
Files: src/misc1.c, src/testdir/test_options.vim
|
Files: src/misc1.c, src/testdir/test_options.vim
|
||||||
|
|
||||||
Patch 8.0.0576 (after 8.0.0570 and 8.0.0573)
|
Patch 8.0.0576 (after 8.0.0570 and 8.0.0573)
|
||||||
Problem: Can't build when configure choses "install-sh". (Daniel Hahler)
|
Problem: Can't build when configure chooses "install-sh". (Daniel Hahler)
|
||||||
Solution: Always use install-sh. Fix remaining use of mkinstalldirs.
|
Solution: Always use install-sh. Fix remaining use of mkinstalldirs.
|
||||||
(closes #1647)
|
(closes #1647)
|
||||||
Files: src/installman.sh, src/installml.sh, src/config.mk.in,
|
Files: src/installman.sh, src/installml.sh, src/config.mk.in,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Apr 20
|
" Last Change: 2017 Jul 11
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
@@ -48,6 +48,9 @@ func! s:StarSetf(ft)
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" Vim help file
|
||||||
|
au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help
|
||||||
|
|
||||||
" Abaqus or Trasys
|
" Abaqus or Trasys
|
||||||
au BufNewFile,BufRead *.inp call s:Check_inp()
|
au BufNewFile,BufRead *.inp call s:Check_inp()
|
||||||
|
|
||||||
@@ -632,7 +635,13 @@ au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
|
|||||||
au BufNewFile,BufRead dictd.conf setf dictdconf
|
au BufNewFile,BufRead dictd.conf setf dictdconf
|
||||||
|
|
||||||
" Diff files
|
" Diff files
|
||||||
au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff
|
au BufNewFile,BufRead *.diff,*.rej setf diff
|
||||||
|
au BufNewFile,BufRead *.patch
|
||||||
|
\ if getline(1) =~ '^From [0-9a-f]\{40\} Mon Sep 17 00:00:00 2001$' |
|
||||||
|
\ setf gitsendemail |
|
||||||
|
\ else |
|
||||||
|
\ setf diff |
|
||||||
|
\ endif
|
||||||
|
|
||||||
" Dircolors
|
" Dircolors
|
||||||
au BufNewFile,BufRead .dir_colors,.dircolors,*/etc/DIR_COLORS setf dircolors
|
au BufNewFile,BufRead .dir_colors,.dircolors,*/etc/DIR_COLORS setf dircolors
|
||||||
@@ -801,6 +810,7 @@ if !empty($XDG_CONFIG_HOME)
|
|||||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig
|
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig
|
||||||
endif
|
endif
|
||||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||||
|
au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail
|
||||||
au BufNewFile,BufRead .msg.[0-9]*
|
au BufNewFile,BufRead .msg.[0-9]*
|
||||||
\ if getline(1) =~ '^From.*# This line is ignored.$' |
|
\ if getline(1) =~ '^From.*# This line is ignored.$' |
|
||||||
\ setf gitsendemail |
|
\ setf gitsendemail |
|
||||||
@@ -981,7 +991,7 @@ au BufNewFile,BufRead */etc/initng/*/*.i,*.ii setf initng
|
|||||||
|
|
||||||
" Innovation Data Processing
|
" Innovation Data Processing
|
||||||
au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat
|
au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat
|
||||||
au BufRead,BufNewFile upstream.log\c,upstream.*.log\c,*.upstream.log\c setf upstreamlog
|
au BufRead,BufNewFile fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c setf upstreamlog
|
||||||
au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog
|
au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog
|
||||||
au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog
|
au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog
|
||||||
au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog
|
au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog
|
||||||
@@ -1181,14 +1191,21 @@ au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown
|
|||||||
" Mason
|
" Mason
|
||||||
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
|
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
|
||||||
|
|
||||||
" Matlab or Objective C
|
" Mathematica, Matlab, Murphi or Objective C
|
||||||
au BufNewFile,BufRead *.m call s:FTm()
|
au BufNewFile,BufRead *.m call s:FTm()
|
||||||
|
|
||||||
func! s:FTm()
|
func! s:FTm()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 10
|
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||||
|
while n < 100
|
||||||
let line = getline(n)
|
let line = getline(n)
|
||||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\|//\)'
|
if line =~ '^\s*/\*'
|
||||||
|
" /* ... */ is a comment in Objective C and Murphi, so we can't conclude
|
||||||
|
" it's either of them yet, but track this as a hint in case we don't see
|
||||||
|
" anything more definitive.
|
||||||
|
let saw_comment = 1
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)'
|
||||||
setf objc
|
setf objc
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@@ -1200,11 +1217,23 @@ func! s:FTm()
|
|||||||
setf mma
|
setf mma
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
if line =~ '^\c\s*\(\(type\|var\)\>\|--\)'
|
||||||
|
setf murphi
|
||||||
|
return
|
||||||
|
endif
|
||||||
let n = n + 1
|
let n = n + 1
|
||||||
endwhile
|
endwhile
|
||||||
if exists("g:filetype_m")
|
|
||||||
|
if saw_comment
|
||||||
|
" We didn't see anything definitive, but this looks like either Objective C
|
||||||
|
" or Murphi based on the comment leader. Assume the former as it is more
|
||||||
|
" common.
|
||||||
|
setf objc
|
||||||
|
elseif exists("g:filetype_m")
|
||||||
|
" Use user specified default filetype for .m
|
||||||
exe "setf " . g:filetype_m
|
exe "setf " . g:filetype_m
|
||||||
else
|
else
|
||||||
|
" Default is matlab
|
||||||
setf matlab
|
setf matlab
|
||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
@@ -1419,7 +1448,7 @@ if has("fname_case")
|
|||||||
else
|
else
|
||||||
au BufNewFile,BufRead *.pl call s:FTpl()
|
au BufNewFile,BufRead *.pl call s:FTpl()
|
||||||
endif
|
endif
|
||||||
au BufNewFile,BufRead *.plx,*.al setf perl
|
au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl
|
||||||
au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6
|
au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6
|
||||||
|
|
||||||
func! s:FTpl()
|
func! s:FTpl()
|
||||||
@@ -1807,6 +1836,9 @@ au BufNewFile,BufRead *.sa setf sather
|
|||||||
" Scala
|
" Scala
|
||||||
au BufNewFile,BufRead *.scala setf scala
|
au BufNewFile,BufRead *.scala setf scala
|
||||||
|
|
||||||
|
" SBT - Scala Build Tool
|
||||||
|
au BufNewFile,BufRead *.sbt setf sbt
|
||||||
|
|
||||||
" Scilab
|
" Scilab
|
||||||
au BufNewFile,BufRead *.sci,*.sce setf scilab
|
au BufNewFile,BufRead *.sci,*.sce setf scilab
|
||||||
|
|
||||||
@@ -2231,6 +2263,8 @@ func! s:FTtex()
|
|||||||
let format = tolower(matchstr(firstline, '\a\+'))
|
let format = tolower(matchstr(firstline, '\a\+'))
|
||||||
let format = substitute(format, 'pdf', '', '')
|
let format = substitute(format, 'pdf', '', '')
|
||||||
if format == 'tex'
|
if format == 'tex'
|
||||||
|
let format = 'latex'
|
||||||
|
elseif format == 'plaintex'
|
||||||
let format = 'plain'
|
let format = 'plain'
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
@@ -2762,7 +2796,13 @@ au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
|
|||||||
|
|
||||||
" Plain text files, needs to be far down to not override others. This avoids
|
" Plain text files, needs to be far down to not override others. This avoids
|
||||||
" the "conf" type being used if there is a line starting with '#'.
|
" the "conf" type being used if there is a line starting with '#'.
|
||||||
au BufNewFile,BufRead *.txt,*.text,README setf text
|
au BufNewFile,BufRead *.text,README setf text
|
||||||
|
|
||||||
|
" Help files match *.txt but should have a last line that is a modeline.
|
||||||
|
au BufNewFile,BufRead *.txt
|
||||||
|
\ if getline('$') !~ 'vim:.*ft=help'
|
||||||
|
\| setf text
|
||||||
|
\| endif
|
||||||
|
|
||||||
|
|
||||||
" Use the filetype detect plugins. They may overrule any of the previously
|
" Use the filetype detect plugins. They may overrule any of the previously
|
||||||
@@ -2774,12 +2814,12 @@ runtime! ftdetect/*.vim
|
|||||||
" state.
|
" state.
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
" Generic configuration file (check this last, it's just guessing!)
|
" Generic configuration file. Use FALLBACK, it's just guessing!
|
||||||
au filetypedetect BufNewFile,BufRead,StdinReadPost *
|
au filetypedetect BufNewFile,BufRead,StdinReadPost *
|
||||||
\ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
|
\ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
|
||||||
\ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'
|
\ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'
|
||||||
\ || getline(4) =~ '^#' || getline(5) =~ '^#') |
|
\ || getline(4) =~ '^#' || getline(5) =~ '^#') |
|
||||||
\ setf conf |
|
\ setf FALLBACK conf |
|
||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
15
runtime/ftplugin/sbt.vim
Normal file
15
runtime/ftplugin/sbt.vim
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: sbt
|
||||||
|
" Maintainer: Steven Dobay <stevendobay at protonmail.com>
|
||||||
|
" License: Same as Vim
|
||||||
|
" Last Change: 2017.04.30
|
||||||
|
" ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if exists('b:did_ftplugin') || &cp
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
runtime! ftplugin/scala.vim
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ function s:MainBlockIndent (prev_indent, prev_lnum, blockstart, stop_at)
|
|||||||
endwhile
|
endwhile
|
||||||
endwhile
|
endwhile
|
||||||
" Fallback - just move back one
|
" Fallback - just move back one
|
||||||
return a:prev_indent - &sw
|
return a:prev_indent - shiftwidth()
|
||||||
endfunction MainBlockIndent
|
endfunction MainBlockIndent
|
||||||
|
|
||||||
" Section: s:EndBlockIndent {{{1
|
" Section: s:EndBlockIndent {{{1
|
||||||
@@ -131,7 +131,7 @@ function s:EndBlockIndent( prev_indent, prev_lnum, blockstart, blockend )
|
|||||||
endwhile
|
endwhile
|
||||||
endwhile
|
endwhile
|
||||||
" Fallback - just move back one
|
" Fallback - just move back one
|
||||||
return a:prev_indent - &sw
|
return a:prev_indent - shiftwidth()
|
||||||
endfunction EndBlockIndent
|
endfunction EndBlockIndent
|
||||||
|
|
||||||
" Section: s:StatementIndent {{{1
|
" Section: s:StatementIndent {{{1
|
||||||
@@ -213,15 +213,15 @@ function GetAdaIndent()
|
|||||||
endif
|
endif
|
||||||
" Move indent in
|
" Move indent in
|
||||||
if ! false_match
|
if ! false_match
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif line =~ '^\s*\(case\|exception\)\>'
|
elseif line =~ '^\s*\(case\|exception\)\>'
|
||||||
" Move indent in twice (next 'when' will move back)
|
" Move indent in twice (next 'when' will move back)
|
||||||
let ind = ind + 2 * &sw
|
let ind = ind + 2 * shiftwidth()
|
||||||
elseif line =~ '^\s*end\s*record\>'
|
elseif line =~ '^\s*end\s*record\>'
|
||||||
" Move indent back to tallying 'type' preceeding the 'record'.
|
" Move indent back to tallying 'type' preceeding the 'record'.
|
||||||
" Allow indent to be equal to 'end record's.
|
" Allow indent to be equal to 'end record's.
|
||||||
let ind = s:MainBlockIndent( ind+&sw, lnum, 'type\>', '' )
|
let ind = s:MainBlockIndent( ind+shiftwidth(), lnum, 'type\>', '' )
|
||||||
elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$'
|
elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$'
|
||||||
" Revert to indent of line that started this parenthesis pair
|
" Revert to indent of line that started this parenthesis pair
|
||||||
exe lnum
|
exe lnum
|
||||||
@@ -235,10 +235,10 @@ function GetAdaIndent()
|
|||||||
exe v:lnum
|
exe v:lnum
|
||||||
elseif line =~ '[.=(]\s*$'
|
elseif line =~ '[.=(]\s*$'
|
||||||
" A statement continuation - move in one
|
" A statement continuation - move in one
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
elseif line =~ '^\s*new\>'
|
elseif line =~ '^\s*new\>'
|
||||||
" Multiple line generic instantiation ('package blah is\nnew thingy')
|
" Multiple line generic instantiation ('package blah is\nnew thingy')
|
||||||
let ind = s:StatementIndent( ind - &sw, lnum )
|
let ind = s:StatementIndent( ind - shiftwidth(), lnum )
|
||||||
elseif line =~ ';\s*$'
|
elseif line =~ ';\s*$'
|
||||||
" Statement end (but not 'end' ) - try to find current statement-start indent
|
" Statement end (but not 'end' ) - try to find current statement-start indent
|
||||||
let ind = s:StatementIndent( ind, lnum )
|
let ind = s:StatementIndent( ind, lnum )
|
||||||
@@ -256,17 +256,17 @@ function GetAdaIndent()
|
|||||||
elseif continuation && line =~ '^\s*('
|
elseif continuation && line =~ '^\s*('
|
||||||
" Don't do this if we've already indented due to the previous line
|
" Don't do this if we've already indented due to the previous line
|
||||||
if ind == initind
|
if ind == initind
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif line =~ '^\s*\(begin\|is\)\>'
|
elseif line =~ '^\s*\(begin\|is\)\>'
|
||||||
let ind = s:MainBlockIndent( ind, lnum, '\(procedure\|function\|declare\|package\|task\)\>', 'begin\>' )
|
let ind = s:MainBlockIndent( ind, lnum, '\(procedure\|function\|declare\|package\|task\)\>', 'begin\>' )
|
||||||
elseif line =~ '^\s*record\>'
|
elseif line =~ '^\s*record\>'
|
||||||
let ind = s:MainBlockIndent( ind, lnum, 'type\>\|for\>.*\<use\>', '' ) + &sw
|
let ind = s:MainBlockIndent( ind, lnum, 'type\>\|for\>.*\<use\>', '' ) + shiftwidth()
|
||||||
elseif line =~ '^\s*\(else\|elsif\)\>'
|
elseif line =~ '^\s*\(else\|elsif\)\>'
|
||||||
let ind = s:MainBlockIndent( ind, lnum, 'if\>', '' )
|
let ind = s:MainBlockIndent( ind, lnum, 'if\>', '' )
|
||||||
elseif line =~ '^\s*when\>'
|
elseif line =~ '^\s*when\>'
|
||||||
" Align 'when' one /in/ from matching block start
|
" Align 'when' one /in/ from matching block start
|
||||||
let ind = s:MainBlockIndent( ind, lnum, '\(case\|exception\)\>', '' ) + &sw
|
let ind = s:MainBlockIndent( ind, lnum, '\(case\|exception\)\>', '' ) + shiftwidth()
|
||||||
elseif line =~ '^\s*end\>\s*\<if\>'
|
elseif line =~ '^\s*end\>\s*\<if\>'
|
||||||
" End of if statements
|
" End of if statements
|
||||||
let ind = s:EndBlockIndent( ind, lnum, 'if\>', 'end\>\s*\<if\>' )
|
let ind = s:EndBlockIndent( ind, lnum, 'if\>', 'end\>\s*\<if\>' )
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ function! GetAwkIndent()
|
|||||||
" 'pattern { action }' (simple check match on /{/ increases the indent then)
|
" 'pattern { action }' (simple check match on /{/ increases the indent then)
|
||||||
|
|
||||||
if s:Get_brace_balance( prev_data, '{', '}' ) > 0
|
if s:Get_brace_balance( prev_data, '{', '}' ) > 0
|
||||||
return ind + &sw
|
return ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let brace_balance = s:Get_brace_balance( prev_data, '(', ')' )
|
let brace_balance = s:Get_brace_balance( prev_data, '(', ')' )
|
||||||
@@ -99,7 +99,7 @@ function! GetAwkIndent()
|
|||||||
return s:Safe_indent( ind, s:First_word_len(prev_data), getline(v:lnum))
|
return s:Safe_indent( ind, s:First_word_len(prev_data), getline(v:lnum))
|
||||||
else
|
else
|
||||||
" if/for/while without '{'
|
" if/for/while without '{'
|
||||||
return ind + &sw
|
return ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -140,7 +140,7 @@ function! GetAwkIndent()
|
|||||||
|
|
||||||
" Decrease indent if this line contains a '}'.
|
" Decrease indent if this line contains a '}'.
|
||||||
if getline(v:lnum) =~ '^\s*}'
|
if getline(v:lnum) =~ '^\s*}'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ function! GetBstIndent(lnum) abort
|
|||||||
endif
|
endif
|
||||||
let fakeline = substitute(line,'^}','','').matchstr(cline,'^}')
|
let fakeline = substitute(line,'^}','','').matchstr(cline,'^}')
|
||||||
let ind = indent(lnum)
|
let ind = indent(lnum)
|
||||||
let ind = ind + &sw * s:count(line,'{')
|
let ind = ind + shiftwidth() * s:count(line,'{')
|
||||||
let ind = ind - &sw * s:count(fakeline,'}')
|
let ind = ind - shiftwidth() * s:count(fakeline,'}')
|
||||||
return ind
|
return ind
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Bazel (http://bazel.io)
|
" Language: Bazel (http://bazel.io)
|
||||||
" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl)
|
" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl)
|
||||||
" Last Change: 2015 Aug 11
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
if exists('b:did_indent')
|
if exists('b:did_indent')
|
||||||
finish
|
finish
|
||||||
@@ -41,11 +41,8 @@ function GetBzlIndent(lnum) abort
|
|||||||
if exists('g:pyindent_open_paren')
|
if exists('g:pyindent_open_paren')
|
||||||
let l:pyindent_open_paren = g:pyindent_open_paren
|
let l:pyindent_open_paren = g:pyindent_open_paren
|
||||||
endif
|
endif
|
||||||
" Vim 7.3.693 and later defines a shiftwidth() function to get the effective
|
let g:pyindent_nested_paren = 'shiftwidth() * 2'
|
||||||
" shiftwidth value. Fall back to &shiftwidth if the function doesn't exist.
|
let g:pyindent_open_paren = 'shiftwidth() * 2'
|
||||||
let l:sw_expr = exists('*shiftwidth') ? 'shiftwidth()' : '&shiftwidth'
|
|
||||||
let g:pyindent_nested_paren = l:sw_expr . ' * 2'
|
|
||||||
let g:pyindent_open_paren = l:sw_expr . ' * 2'
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let l:indent = -1
|
let l:indent = -1
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ fun! CdlGetIndent(lnum)
|
|||||||
let thisline = getline(a:lnum)
|
let thisline = getline(a:lnum)
|
||||||
if match(thisline, '^\s*\(\k\+\|\[[^]]*]\)\s*\(,\|;\s*$\)') >= 0
|
if match(thisline, '^\s*\(\k\+\|\[[^]]*]\)\s*\(,\|;\s*$\)') >= 0
|
||||||
" it's an attributes line
|
" it's an attributes line
|
||||||
return &sw
|
return shiftwidth()
|
||||||
elseif match(thisline, '^\c\s*\([{}]\|\/[*/]\|dimension\|schedule\|group\|hierarchy\|class\)') >= 0
|
elseif match(thisline, '^\c\s*\([{}]\|\/[*/]\|dimension\|schedule\|group\|hierarchy\|class\)') >= 0
|
||||||
" it's a header or '{' or '}' or a comment
|
" it's a header or '{' or '}' or a comment
|
||||||
return 0
|
return 0
|
||||||
@@ -71,13 +71,13 @@ fun! CdlGetIndent(lnum)
|
|||||||
let c = line[inicio-1]
|
let c = line[inicio-1]
|
||||||
" ')' and '=' don't change indent and are useless to set 'f'
|
" ')' and '=' don't change indent and are useless to set 'f'
|
||||||
if c == '{'
|
if c == '{'
|
||||||
return &sw
|
return shiftwidth()
|
||||||
elseif c != ')' && c != '='
|
elseif c != ')' && c != '='
|
||||||
let f = 1 " all but 'elseif' are followed by a formula
|
let f = 1 " all but 'elseif' are followed by a formula
|
||||||
if c ==? 'n' || c ==? 'e' " 'then', 'else'
|
if c ==? 'n' || c ==? 'e' " 'then', 'else'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
elseif strpart(line, inicio-6, 6) ==? 'elseif' " elseif, set f to conditional
|
elseif strpart(line, inicio-6, 6) ==? 'elseif' " elseif, set f to conditional
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
let f = 0
|
let f = 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -98,16 +98,16 @@ fun! CdlGetIndent(lnum)
|
|||||||
let ind = 0
|
let ind = 0
|
||||||
let f = 1
|
let f = 1
|
||||||
elseif c == ')' || c== ';' || strpart(line, inicio-5, 5) ==? 'endif'
|
elseif c == ')' || c== ';' || strpart(line, inicio-5, 5) ==? 'endif'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
elseif c == '(' || c ==? 'f' " '(' or 'if'
|
elseif c == '(' || c ==? 'f' " '(' or 'if'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
else " c == '='
|
else " c == '='
|
||||||
" if it is an asignment increase indent
|
" if it is an asignment increase indent
|
||||||
if f == -1 " we don't know yet, find out
|
if f == -1 " we don't know yet, find out
|
||||||
let f = CdlAsignment(lnum, strpart(line, 0, inicio))
|
let f = CdlAsignment(lnum, strpart(line, 0, inicio))
|
||||||
end
|
end
|
||||||
if f == 1 " formula increase it
|
if f == 1 " formula increase it
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
endw
|
endw
|
||||||
@@ -115,13 +115,13 @@ fun! CdlGetIndent(lnum)
|
|||||||
" CURRENT LINE, if it starts with a closing element, decrease indent
|
" CURRENT LINE, if it starts with a closing element, decrease indent
|
||||||
" or if it starts with '=' (asignment), increase indent
|
" or if it starts with '=' (asignment), increase indent
|
||||||
if match(thisline, '^\c\s*\(else\|then\|endif\|[);]\)') >= 0
|
if match(thisline, '^\c\s*\(else\|then\|endif\|[);]\)') >= 0
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
elseif match(thisline, '^\s*=') >= 0
|
elseif match(thisline, '^\s*=') >= 0
|
||||||
if f == -1 " we don't know yet if is an asignment, find out
|
if f == -1 " we don't know yet if is an asignment, find out
|
||||||
let f = CdlAsignment(lnum, "")
|
let f = CdlAsignment(lnum, "")
|
||||||
end
|
end
|
||||||
if f == 1 " formula increase it
|
if f == 1 " formula increase it
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -31,19 +31,19 @@ function! GetChaiScriptIndent()
|
|||||||
let flag = 0
|
let flag = 0
|
||||||
let prevline = getline(lnum)
|
let prevline = getline(lnum)
|
||||||
if prevline =~ '^.*{.*'
|
if prevline =~ '^.*{.*'
|
||||||
let ind = ind + &shiftwidth
|
let ind = ind + shiftwidth()
|
||||||
let flag = 1
|
let flag = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract a 'shiftwidth' after lines containing a { followed by a }
|
" Subtract a 'shiftwidth' after lines containing a { followed by a }
|
||||||
" to keep it balanced
|
" to keep it balanced
|
||||||
if flag == 1 && prevline =~ '.*{.*}.*'
|
if flag == 1 && prevline =~ '.*{.*}.*'
|
||||||
let ind = ind - &shiftwidth
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract a 'shiftwidth' on lines ending with }
|
" Subtract a 'shiftwidth' on lines ending with }
|
||||||
if getline(v:lnum) =~ '^\s*\%(}\)'
|
if getline(v:lnum) =~ '^\s*\%(}\)'
|
||||||
let ind = ind - &shiftwidth
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ if exists("*searchpairpos")
|
|||||||
call cursor(paren)
|
call cursor(paren)
|
||||||
|
|
||||||
if s:is_method_special_case(paren)
|
if s:is_method_special_case(paren)
|
||||||
return [paren[0], paren[1] + &shiftwidth - 1]
|
return [paren[0], paren[1] + shiftwidth() - 1]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if s:is_reader_conditional_special_case(paren)
|
if s:is_reader_conditional_special_case(paren)
|
||||||
@@ -299,19 +299,19 @@ if exists("*searchpairpos")
|
|||||||
let ww = s:strip_namespace_and_macro_chars(w)
|
let ww = s:strip_namespace_and_macro_chars(w)
|
||||||
|
|
||||||
if &lispwords =~# '\V\<' . ww . '\>'
|
if &lispwords =~# '\V\<' . ww . '\>'
|
||||||
return [paren[0], paren[1] + &shiftwidth - 1]
|
return [paren[0], paren[1] + shiftwidth() - 1]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if g:clojure_fuzzy_indent
|
if g:clojure_fuzzy_indent
|
||||||
\ && !s:match_one(g:clojure_fuzzy_indent_blacklist, ww)
|
\ && !s:match_one(g:clojure_fuzzy_indent_blacklist, ww)
|
||||||
\ && s:match_one(g:clojure_fuzzy_indent_patterns, ww)
|
\ && s:match_one(g:clojure_fuzzy_indent_patterns, ww)
|
||||||
return [paren[0], paren[1] + &shiftwidth - 1]
|
return [paren[0], paren[1] + shiftwidth() - 1]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call search('\v\_s', 'cW')
|
call search('\v\_s', 'cW')
|
||||||
call search('\v\S', 'W')
|
call search('\v\S', 'W')
|
||||||
if paren[0] < line(".")
|
if paren[0] < line(".")
|
||||||
return [paren[0], paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)]
|
return [paren[0], paren[1] + (g:clojure_align_subforms ? 0 : shiftwidth() - 1)]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call search('\v\S', 'bW')
|
call search('\v\S', 'bW')
|
||||||
|
|||||||
@@ -68,19 +68,19 @@ fun! CMakeGetIndent(lnum)
|
|||||||
let ind = ind
|
let ind = ind
|
||||||
else
|
else
|
||||||
if previous_line =~? cmake_indent_begin_regex
|
if previous_line =~? cmake_indent_begin_regex
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
if previous_line =~? cmake_indent_open_regex
|
if previous_line =~? cmake_indent_open_regex
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract
|
" Subtract
|
||||||
if this_line =~? cmake_indent_end_regex
|
if this_line =~? cmake_indent_end_regex
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
if previous_line =~? cmake_indent_close_regex
|
if previous_line =~? cmake_indent_close_regex
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -52,11 +52,11 @@ function! s:optionalblock(lnum,ind,blocks,clauses)
|
|||||||
if getline(lastclause) =~? clauses && s:stripped(lastclause) !~? '^'.begin
|
if getline(lastclause) =~? clauses && s:stripped(lastclause) !~? '^'.begin
|
||||||
let ind = indent(lastclause)
|
let ind = indent(lastclause)
|
||||||
elseif lastclause > 0
|
elseif lastclause > 0
|
||||||
let ind = indent(lastclause) + &sw
|
let ind = indent(lastclause) + shiftwidth()
|
||||||
"let ind = ind + &sw
|
"let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif line =~? clauses && cline !~? end
|
elseif line =~? clauses && cline !~? end
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
return ind
|
return ind
|
||||||
endfunction
|
endfunction
|
||||||
@@ -98,8 +98,8 @@ function! GetCobolIndent(lnum) abort
|
|||||||
let num = matchstr(line,'^\s*\zs\d\+\>')
|
let num = matchstr(line,'^\s*\zs\d\+\>')
|
||||||
if 0+cnum == num
|
if 0+cnum == num
|
||||||
return lindent
|
return lindent
|
||||||
elseif 0+cnum > num && default < lindent + &sw
|
elseif 0+cnum > num && default < lindent + shiftwidth()
|
||||||
let default = lindent + &sw
|
let default = lindent + shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif lindent < bshft && lindent >= ashft
|
elseif lindent < bshft && lindent >= ashft
|
||||||
break
|
break
|
||||||
@@ -135,13 +135,13 @@ function! GetCobolIndent(lnum) abort
|
|||||||
if line =~? '^PERFORM\>'
|
if line =~? '^PERFORM\>'
|
||||||
let perfline = substitute(line, '\c^PERFORM\s*', "", "")
|
let perfline = substitute(line, '\c^PERFORM\s*', "", "")
|
||||||
if perfline =~? '^\%(\k\+\s\+TIMES\)\=\s*$'
|
if perfline =~? '^\%(\k\+\s\+TIMES\)\=\s*$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
elseif perfline =~? '^\%(WITH\s\+TEST\|VARYING\|UNTIL\)\>.*[^.]$'
|
elseif perfline =~? '^\%(WITH\s\+TEST\|VARYING\|UNTIL\)\>.*[^.]$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if line =~? '^\%(IF\|THEN\|ELSE\|READ\|EVALUATE\|SEARCH\|SELECT\)\>'
|
if line =~? '^\%(IF\|THEN\|ELSE\|READ\|EVALUATE\|SEARCH\|SELECT\)\>'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
let ind = s:optionalblock(a:lnum,ind,'ADD\|COMPUTE\|DIVIDE\|MULTIPLY\|SUBTRACT','ON\s\+SIZE\s\+ERROR')
|
let ind = s:optionalblock(a:lnum,ind,'ADD\|COMPUTE\|DIVIDE\|MULTIPLY\|SUBTRACT','ON\s\+SIZE\s\+ERROR')
|
||||||
let ind = s:optionalblock(a:lnum,ind,'STRING\|UNSTRING\|ACCEPT\|DISPLAY\|CALL','ON\s\+OVERFLOW\|ON\s\+EXCEPTION')
|
let ind = s:optionalblock(a:lnum,ind,'STRING\|UNSTRING\|ACCEPT\|DISPLAY\|CALL','ON\s\+OVERFLOW\|ON\s\+EXCEPTION')
|
||||||
@@ -157,10 +157,10 @@ function! GetCobolIndent(lnum) abort
|
|||||||
"&& s:stripped(lastclause) !~? '^\%(SEARCH\|EVALUATE\|READ\)\>'
|
"&& s:stripped(lastclause) !~? '^\%(SEARCH\|EVALUATE\|READ\)\>'
|
||||||
let ind = indent(lastclause)
|
let ind = indent(lastclause)
|
||||||
elseif lastclause > 0
|
elseif lastclause > 0
|
||||||
let ind = indent(lastclause) + &sw
|
let ind = indent(lastclause) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif line =~? '^WHEN\>'
|
elseif line =~? '^WHEN\>'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
"I'm not sure why I had this
|
"I'm not sure why I had this
|
||||||
"if line =~? '^ELSE\>-\@!' && line !~? '\.$'
|
"if line =~? '^ELSE\>-\@!' && line !~? '\.$'
|
||||||
@@ -168,7 +168,7 @@ function! GetCobolIndent(lnum) abort
|
|||||||
"endif
|
"endif
|
||||||
if cline =~? '^\(END\)\>-\@!'
|
if cline =~? '^\(END\)\>-\@!'
|
||||||
" On lines with just END, 'guess' a simple shift left
|
" On lines with just END, 'guess' a simple shift left
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
elseif cline =~? '^\(END-IF\|THEN\|ELSE\)\>-\@!'
|
elseif cline =~? '^\(END-IF\|THEN\|ELSE\)\>-\@!'
|
||||||
call cursor(a:lnum,indent(a:lnum))
|
call cursor(a:lnum,indent(a:lnum))
|
||||||
let match = searchpair('\c-\@<!\<IF\>','\c-\@<!\%(THEN\|ELSE\)\>','\c-\@<!\<END-IF\>\zs','bnW',s:skip)
|
let match = searchpair('\c-\@<!\<IF\>','\c-\@<!\%(THEN\|ELSE\)\>','\c-\@<!\<END-IF\>\zs','bnW',s:skip)
|
||||||
@@ -209,7 +209,7 @@ function! GetCobolIndent(lnum) abort
|
|||||||
if match > 0
|
if match > 0
|
||||||
let ind = indent(match)
|
let ind = indent(match)
|
||||||
elseif cline =~? '^\(END-\(READ\|EVALUATE\|SEARCH\|PERFORM\)\)\>'
|
elseif cline =~? '^\(END-\(READ\|EVALUATE\|SEARCH\|PERFORM\)\)\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
return ind < bshft ? bshft : ind
|
return ind < bshft ? bshft : ind
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Cucumber
|
" Language: Cucumber
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Last Change: 2016 Aug 29
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -27,7 +27,7 @@ function! GetCucumberIndent()
|
|||||||
let line = getline(prevnonblank(v:lnum-1))
|
let line = getline(prevnonblank(v:lnum-1))
|
||||||
let cline = getline(v:lnum)
|
let cline = getline(v:lnum)
|
||||||
let nline = getline(nextnonblank(v:lnum+1))
|
let nline = getline(nextnonblank(v:lnum+1))
|
||||||
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
|
let sw = exists('*shiftwidth') ? shiftwidth() : shiftwidth()
|
||||||
let syn = s:syn(prevnonblank(v:lnum-1))
|
let syn = s:syn(prevnonblank(v:lnum-1))
|
||||||
let csyn = s:syn(v:lnum)
|
let csyn = s:syn(v:lnum)
|
||||||
let nsyn = s:syn(nextnonblank(v:lnum+1))
|
let nsyn = s:syn(nextnonblank(v:lnum+1))
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Dylan
|
" Language: Dylan
|
||||||
" Version: 0.01
|
" Version: 0.01
|
||||||
" Last Change: 2003 Feb 04
|
" Last Change: 2017 Jun 13
|
||||||
" Maintainer: Brent A. Fulgham <bfulgham@debian.org>
|
" Maintainer: Brent A. Fulgham <bfulgham@debian.org>
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
@@ -45,13 +45,13 @@ function DylanGetIndent()
|
|||||||
|
|
||||||
" If previous line was a 'define', indent
|
" If previous line was a 'define', indent
|
||||||
if prevline =~? '\(^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)\|\s*\S*\s*=>$\)'
|
if prevline =~? '\(^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)\|\s*\S*\s*=>$\)'
|
||||||
let chg = &sw
|
let chg = shiftwidth()
|
||||||
" local methods indent the shift-width, plus 6 for the 'local'
|
" local methods indent the shift-width, plus 6 for the 'local'
|
||||||
elseif prevline =~? '^\s*local'
|
elseif prevline =~? '^\s*local'
|
||||||
let chg = &sw + 6
|
let chg = shiftwidth() + 6
|
||||||
" If previous line was a let with no closing semicolon, indent
|
" If previous line was a let with no closing semicolon, indent
|
||||||
elseif prevline =~? '^\s*let.*[^;]\s*$'
|
elseif prevline =~? '^\s*let.*[^;]\s*$'
|
||||||
let chg = &sw
|
let chg = shiftwidth()
|
||||||
" If previous line opened a parenthesis, and did not close it, indent
|
" If previous line opened a parenthesis, and did not close it, indent
|
||||||
elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
|
elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
|
||||||
return = match( prevline, '(.*\((.*)\|[^)]\)*.*$') + 1
|
return = match( prevline, '(.*\((.*)\|[^)]\)*.*$') + 1
|
||||||
@@ -75,13 +75,13 @@ function DylanGetIndent()
|
|||||||
" line doesn't start with an indentable command:
|
" line doesn't start with an indentable command:
|
||||||
let curr_str = getline(curr_line)
|
let curr_str = getline(curr_line)
|
||||||
if curr_str =~? '^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)'
|
if curr_str =~? '^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)'
|
||||||
let chg = &sw
|
let chg = shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" If a line starts with end, un-indent (even if we just indented!)
|
" If a line starts with end, un-indent (even if we just indented!)
|
||||||
if cline =~? '^\s*\(cleanup\|end\|else\|elseif\|exception\|finally\|otherwise\)'
|
if cline =~? '^\s*\(cleanup\|end\|else\|elseif\|exception\|finally\|otherwise\)'
|
||||||
let chg = chg - &sw
|
let chg = chg - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind + chg
|
return ind + chg
|
||||||
|
|||||||
@@ -669,7 +669,7 @@ function! s:BeginningOfClauseFound(stack, token, stored_vcol)
|
|||||||
call s:Pop(a:stack)
|
call s:Pop(a:stack)
|
||||||
if empty(a:stack)
|
if empty(a:stack)
|
||||||
call s:Log(' Stack is ["when"], so LTI is in a guard -> return')
|
call s:Log(' Stack is ["when"], so LTI is in a guard -> return')
|
||||||
return [1, a:stored_vcol + &sw + 2]
|
return [1, a:stored_vcol + shiftwidth() + 2]
|
||||||
else
|
else
|
||||||
return [1, s:UnexpectedToken(a:token, a:stack)]
|
return [1, s:UnexpectedToken(a:token, a:stack)]
|
||||||
endif
|
endif
|
||||||
@@ -678,7 +678,7 @@ function! s:BeginningOfClauseFound(stack, token, stored_vcol)
|
|||||||
call s:Pop(a:stack)
|
call s:Pop(a:stack)
|
||||||
if empty(a:stack)
|
if empty(a:stack)
|
||||||
call s:Log(' Stack is ["->"], so LTI is in function body -> return')
|
call s:Log(' Stack is ["->"], so LTI is in function body -> return')
|
||||||
return [1, a:stored_vcol + &sw]
|
return [1, a:stored_vcol + shiftwidth()]
|
||||||
elseif a:stack[0] ==# ';'
|
elseif a:stack[0] ==# ';'
|
||||||
call s:Pop(a:stack)
|
call s:Pop(a:stack)
|
||||||
if empty(a:stack)
|
if empty(a:stack)
|
||||||
@@ -797,7 +797,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
|
|||||||
|
|
||||||
elseif token ==# 'begin'
|
elseif token ==# 'begin'
|
||||||
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
|
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
|
||||||
\stored_vcol, 'end', &sw)
|
\stored_vcol, 'end', shiftwidth())
|
||||||
if ret | return res | endif
|
if ret | return res | endif
|
||||||
|
|
||||||
" case EXPR of BRANCHES end
|
" case EXPR of BRANCHES end
|
||||||
@@ -848,11 +848,11 @@ function! s:ErlangCalcIndent2(lnum, stack)
|
|||||||
elseif stack == ['->']
|
elseif stack == ['->']
|
||||||
call s:Log(' LTI is in a branch after ' .
|
call s:Log(' LTI is in a branch after ' .
|
||||||
\'"of/receive/after/if/catch" -> return')
|
\'"of/receive/after/if/catch" -> return')
|
||||||
return stored_vcol + &sw
|
return stored_vcol + shiftwidth()
|
||||||
elseif stack == ['when']
|
elseif stack == ['when']
|
||||||
call s:Log(' LTI is in a guard after ' .
|
call s:Log(' LTI is in a guard after ' .
|
||||||
\'"of/receive/after/if/catch" -> return')
|
\'"of/receive/after/if/catch" -> return')
|
||||||
return stored_vcol + &sw
|
return stored_vcol + shiftwidth()
|
||||||
else
|
else
|
||||||
return s:UnexpectedToken(token, stack)
|
return s:UnexpectedToken(token, stack)
|
||||||
endif
|
endif
|
||||||
@@ -888,7 +888,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
|
|||||||
if empty(stack)
|
if empty(stack)
|
||||||
call s:Log(' LTI is in a condition; matching ' .
|
call s:Log(' LTI is in a condition; matching ' .
|
||||||
\'"case/if/try/receive" found')
|
\'"case/if/try/receive" found')
|
||||||
let stored_vcol = curr_vcol + &sw
|
let stored_vcol = curr_vcol + shiftwidth()
|
||||||
elseif stack[0] ==# 'align_to_begin_element'
|
elseif stack[0] ==# 'align_to_begin_element'
|
||||||
call s:Pop(stack)
|
call s:Pop(stack)
|
||||||
let stored_vcol = curr_vcol
|
let stored_vcol = curr_vcol
|
||||||
@@ -897,23 +897,23 @@ function! s:ErlangCalcIndent2(lnum, stack)
|
|||||||
\'"case/if/try/receive" found')
|
\'"case/if/try/receive" found')
|
||||||
call s:Pop(stack)
|
call s:Pop(stack)
|
||||||
call s:Pop(stack)
|
call s:Pop(stack)
|
||||||
let stored_vcol = curr_vcol + &sw
|
let stored_vcol = curr_vcol + shiftwidth()
|
||||||
elseif stack[0] ==# '->'
|
elseif stack[0] ==# '->'
|
||||||
call s:Log(' LTI is in a branch; matching ' .
|
call s:Log(' LTI is in a branch; matching ' .
|
||||||
\'"case/if/try/receive" found')
|
\'"case/if/try/receive" found')
|
||||||
call s:Pop(stack)
|
call s:Pop(stack)
|
||||||
let stored_vcol = curr_vcol + 2 * &sw
|
let stored_vcol = curr_vcol + 2 * shiftwidth()
|
||||||
elseif stack[0] ==# 'when'
|
elseif stack[0] ==# 'when'
|
||||||
call s:Log(' LTI is in a guard; matching ' .
|
call s:Log(' LTI is in a guard; matching ' .
|
||||||
\'"case/if/try/receive" found')
|
\'"case/if/try/receive" found')
|
||||||
call s:Pop(stack)
|
call s:Pop(stack)
|
||||||
let stored_vcol = curr_vcol + 2 * &sw + 2
|
let stored_vcol = curr_vcol + 2 * shiftwidth() + 2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
|
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
|
||||||
\stored_vcol, 'end', &sw)
|
\stored_vcol, 'end', shiftwidth())
|
||||||
if ret | return res | endif
|
if ret | return res | endif
|
||||||
|
|
||||||
elseif token ==# 'fun'
|
elseif token ==# 'fun'
|
||||||
@@ -930,7 +930,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
|
|||||||
" stack = ['when'] => LTI is in a guard
|
" stack = ['when'] => LTI is in a guard
|
||||||
if empty(stack)
|
if empty(stack)
|
||||||
call s:Log(' LTI is in a condition; matching "fun" found')
|
call s:Log(' LTI is in a condition; matching "fun" found')
|
||||||
let stored_vcol = curr_vcol + &sw
|
let stored_vcol = curr_vcol + shiftwidth()
|
||||||
elseif len(stack) > 1 && stack[0] ==# '->' && stack[1] ==# ';'
|
elseif len(stack) > 1 && stack[0] ==# '->' && stack[1] ==# ';'
|
||||||
call s:Log(' LTI is in a condition; matching "fun" found')
|
call s:Log(' LTI is in a condition; matching "fun" found')
|
||||||
call s:Pop(stack)
|
call s:Pop(stack)
|
||||||
@@ -938,15 +938,15 @@ function! s:ErlangCalcIndent2(lnum, stack)
|
|||||||
elseif stack[0] ==# '->'
|
elseif stack[0] ==# '->'
|
||||||
call s:Log(' LTI is in a branch; matching "fun" found')
|
call s:Log(' LTI is in a branch; matching "fun" found')
|
||||||
call s:Pop(stack)
|
call s:Pop(stack)
|
||||||
let stored_vcol = curr_vcol + 2 * &sw
|
let stored_vcol = curr_vcol + 2 * shiftwidth()
|
||||||
elseif stack[0] ==# 'when'
|
elseif stack[0] ==# 'when'
|
||||||
call s:Log(' LTI is in a guard; matching "fun" found')
|
call s:Log(' LTI is in a guard; matching "fun" found')
|
||||||
call s:Pop(stack)
|
call s:Pop(stack)
|
||||||
let stored_vcol = curr_vcol + 2 * &sw + 2
|
let stored_vcol = curr_vcol + 2 * shiftwidth() + 2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
|
let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
|
||||||
\stored_vcol, 'end', &sw)
|
\stored_vcol, 'end', shiftwidth())
|
||||||
if ret | return res | endif
|
if ret | return res | endif
|
||||||
else
|
else
|
||||||
" Pass: we have a function reference (e.g. "fun f/0")
|
" Pass: we have a function reference (e.g. "fun f/0")
|
||||||
@@ -1220,7 +1220,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
|
|||||||
" when A,
|
" when A,
|
||||||
" LTI
|
" LTI
|
||||||
let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol,
|
let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol,
|
||||||
\stored_vcol, &sw)
|
\stored_vcol, shiftwidth())
|
||||||
if ret | return res | endif
|
if ret | return res | endif
|
||||||
else
|
else
|
||||||
" Example:
|
" Example:
|
||||||
@@ -1252,7 +1252,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
|
|||||||
" If LTI is between an 'after' and the corresponding
|
" If LTI is between an 'after' and the corresponding
|
||||||
" 'end', then let's return
|
" 'end', then let's return
|
||||||
let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol,
|
let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol,
|
||||||
\stored_vcol, &sw)
|
\stored_vcol, shiftwidth())
|
||||||
if ret | return res | endif
|
if ret | return res | endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -47,11 +47,7 @@ set cpo&vim
|
|||||||
|
|
||||||
function! GetErubyIndent(...)
|
function! GetErubyIndent(...)
|
||||||
" The value of a single shift-width
|
" The value of a single shift-width
|
||||||
if exists('*shiftwidth')
|
let sw = shiftwidth()
|
||||||
let sw = shiftwidth()
|
|
||||||
else
|
|
||||||
let sw = &sw
|
|
||||||
endif
|
|
||||||
|
|
||||||
if a:0 && a:1 == '.'
|
if a:0 && a:1 == '.'
|
||||||
let v:lnum = line('.')
|
let v:lnum = line('.')
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ function FalconGetIndent(...)
|
|||||||
|
|
||||||
" If the previous line ended with a block opening, add a level of indent.
|
" If the previous line ended with a block opening, add a level of indent.
|
||||||
if s:Match(lnum, s:block_regex)
|
if s:Match(lnum, s:block_regex)
|
||||||
return indent(s:GetMSL(lnum)) + &sw
|
return indent(s:GetMSL(lnum)) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" If it contained hanging closing brackets, find the rightmost one, find its
|
" If it contained hanging closing brackets, find the rightmost one, find its
|
||||||
@@ -350,20 +350,20 @@ function FalconGetIndent(...)
|
|||||||
if opening.pos != -1
|
if opening.pos != -1
|
||||||
if opening.type == '(' && searchpair('(', '', ')', 'bW', s:skip_expr) > 0
|
if opening.type == '(' && searchpair('(', '', ')', 'bW', s:skip_expr) > 0
|
||||||
if col('.') + 1 == col('$')
|
if col('.') + 1 == col('$')
|
||||||
return ind + &sw
|
return ind + shiftwidth()
|
||||||
else
|
else
|
||||||
return virtcol('.')
|
return virtcol('.')
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
let nonspace = matchend(line, '\S', opening.pos + 1) - 1
|
let nonspace = matchend(line, '\S', opening.pos + 1) - 1
|
||||||
return nonspace > 0 ? nonspace : ind + &sw
|
return nonspace > 0 ? nonspace : ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif closing.pos != -1
|
elseif closing.pos != -1
|
||||||
call cursor(lnum, closing.pos + 1)
|
call cursor(lnum, closing.pos + 1)
|
||||||
normal! %
|
normal! %
|
||||||
|
|
||||||
if s:Match(line('.'), s:falcon_indent_keywords)
|
if s:Match(line('.'), s:falcon_indent_keywords)
|
||||||
return indent('.') + &sw
|
return indent('.') + shiftwidth()
|
||||||
else
|
else
|
||||||
return indent('.')
|
return indent('.')
|
||||||
endif
|
endif
|
||||||
@@ -392,7 +392,7 @@ function FalconGetIndent(...)
|
|||||||
let col = s:Match(lnum, s:falcon_indent_keywords)
|
let col = s:Match(lnum, s:falcon_indent_keywords)
|
||||||
if col > 0
|
if col > 0
|
||||||
call cursor(lnum, col)
|
call cursor(lnum, col)
|
||||||
let ind = virtcol('.') - 1 + &sw
|
let ind = virtcol('.') - 1 + shiftwidth()
|
||||||
" TODO: make this better (we need to count them) (or, if a searchpair
|
" TODO: make this better (we need to count them) (or, if a searchpair
|
||||||
" fails, we know that something is lacking an end and thus we indent a
|
" fails, we know that something is lacking an end and thus we indent a
|
||||||
" level
|
" level
|
||||||
@@ -422,9 +422,9 @@ function FalconGetIndent(...)
|
|||||||
" TODO: this does not take into account contrived things such as
|
" TODO: this does not take into account contrived things such as
|
||||||
" module Foo; class Bar; end
|
" module Foo; class Bar; end
|
||||||
if s:Match(lnum, s:falcon_indent_keywords)
|
if s:Match(lnum, s:falcon_indent_keywords)
|
||||||
let ind = msl_ind + &sw
|
let ind = msl_ind + shiftwidth()
|
||||||
if s:Match(lnum, s:end_end_regex)
|
if s:Match(lnum, s:end_end_regex)
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
return ind
|
return ind
|
||||||
endif
|
endif
|
||||||
@@ -433,7 +433,7 @@ function FalconGetIndent(...)
|
|||||||
" closing bracket, indent one extra level.
|
" closing bracket, indent one extra level.
|
||||||
if s:Match(lnum, s:non_bracket_continuation_regex) && !s:Match(lnum, '^\s*\([\])}]\|end\)')
|
if s:Match(lnum, s:non_bracket_continuation_regex) && !s:Match(lnum, '^\s*\([\])}]\|end\)')
|
||||||
if lnum == p_lnum
|
if lnum == p_lnum
|
||||||
let ind = msl_ind + &sw
|
let ind = msl_ind + shiftwidth()
|
||||||
else
|
else
|
||||||
let ind = msl_ind
|
let ind = msl_ind
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: git config file
|
" Language: git config file
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Last Change: 2016 Aug 29
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -20,7 +20,7 @@ if exists("*GetGitconfigIndent")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
function! GetGitconfigIndent()
|
function! GetGitconfigIndent()
|
||||||
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
|
let sw = shiftwidth()
|
||||||
let line = getline(prevnonblank(v:lnum-1))
|
let line = getline(prevnonblank(v:lnum-1))
|
||||||
let cline = getline(v:lnum)
|
let cline = getline(v:lnum)
|
||||||
if line =~ '\\\@<!\%(\\\\\)*\\$'
|
if line =~ '\\\@<!\%(\\\\\)*\\$'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: gitolite configuration
|
" Language: gitolite configuration
|
||||||
" URL: https://github.com/tmatilai/gitolite.vim
|
" URL: https://github.com/tmatilai/gitolite.vim
|
||||||
" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
|
" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
|
||||||
" Last Change: 2011-12-24
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -27,11 +27,11 @@ function! GetGitoliteIndent()
|
|||||||
let cline = getline(v:lnum)
|
let cline = getline(v:lnum)
|
||||||
|
|
||||||
if cline =~ '^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\|-\)[ \t=]'
|
if cline =~ '^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\|-\)[ \t=]'
|
||||||
return &sw
|
return shiftwidth()
|
||||||
elseif cline =~ '^\s*config\s'
|
elseif cline =~ '^\s*config\s'
|
||||||
return &sw
|
return shiftwidth()
|
||||||
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
|
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
|
||||||
return &sw
|
return shiftwidth()
|
||||||
elseif cline =~ '^\s*#'
|
elseif cline =~ '^\s*#'
|
||||||
return indent(prevln)
|
return indent(prevln)
|
||||||
elseif cline =~ '^\s*$'
|
elseif cline =~ '^\s*$'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Go
|
" Language: Go
|
||||||
" Maintainer: David Barnett (https://github.com/google/vim-ft-go)
|
" Maintainer: David Barnett (https://github.com/google/vim-ft-go)
|
||||||
" Last Change: 2014 Aug 16
|
" Last Change: 2017 Jun 13
|
||||||
"
|
"
|
||||||
" TODO:
|
" TODO:
|
||||||
" - function invocations split across lines
|
" - function invocations split across lines
|
||||||
@@ -23,18 +23,6 @@ if exists('*GoIndent')
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" The shiftwidth() function is relatively new.
|
|
||||||
" Don't require it to exist.
|
|
||||||
if exists('*shiftwidth')
|
|
||||||
function s:sw() abort
|
|
||||||
return shiftwidth()
|
|
||||||
endfunction
|
|
||||||
else
|
|
||||||
function s:sw() abort
|
|
||||||
return &shiftwidth
|
|
||||||
endfunction
|
|
||||||
endif
|
|
||||||
|
|
||||||
function! GoIndent(lnum)
|
function! GoIndent(lnum)
|
||||||
let l:prevlnum = prevnonblank(a:lnum-1)
|
let l:prevlnum = prevnonblank(a:lnum-1)
|
||||||
if l:prevlnum == 0
|
if l:prevlnum == 0
|
||||||
@@ -51,17 +39,17 @@ function! GoIndent(lnum)
|
|||||||
|
|
||||||
if l:prevl =~ '[({]\s*$'
|
if l:prevl =~ '[({]\s*$'
|
||||||
" previous line opened a block
|
" previous line opened a block
|
||||||
let l:ind += s:sw()
|
let l:ind += shiftwidth()
|
||||||
endif
|
endif
|
||||||
if l:prevl =~# '^\s*\(case .*\|default\):$'
|
if l:prevl =~# '^\s*\(case .*\|default\):$'
|
||||||
" previous line is part of a switch statement
|
" previous line is part of a switch statement
|
||||||
let l:ind += s:sw()
|
let l:ind += shiftwidth()
|
||||||
endif
|
endif
|
||||||
" TODO: handle if the previous line is a label.
|
" TODO: handle if the previous line is a label.
|
||||||
|
|
||||||
if l:thisl =~ '^\s*[)}]'
|
if l:thisl =~ '^\s*[)}]'
|
||||||
" this line closed a block
|
" this line closed a block
|
||||||
let l:ind -= s:sw()
|
let l:ind -= shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Colons are tricky.
|
" Colons are tricky.
|
||||||
@@ -69,7 +57,7 @@ function! GoIndent(lnum)
|
|||||||
" We ignore trying to deal with jump labels because (a) they're rare, and
|
" We ignore trying to deal with jump labels because (a) they're rare, and
|
||||||
" (b) they're hard to disambiguate from a composite literal key.
|
" (b) they're hard to disambiguate from a composite literal key.
|
||||||
if l:thisl =~# '^\s*\(case .*\|default\):$'
|
if l:thisl =~# '^\s*\(case .*\|default\):$'
|
||||||
let l:ind -= s:sw()
|
let l:ind -= shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return l:ind
|
return l:ind
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Haml
|
" Language: Haml
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Last Change: 2016 Aug 29
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -37,7 +37,7 @@ function! GetHamlIndent()
|
|||||||
let line = substitute(line,'^\s\+','','')
|
let line = substitute(line,'^\s\+','','')
|
||||||
let indent = indent(lnum)
|
let indent = indent(lnum)
|
||||||
let cindent = indent(v:lnum)
|
let cindent = indent(v:lnum)
|
||||||
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
|
let sw = shiftwidth()
|
||||||
if cline =~# '\v^-\s*%(elsif|else|when)>'
|
if cline =~# '\v^-\s*%(elsif|else|when)>'
|
||||||
let indent = cindent < indent ? cindent : indent - sw
|
let indent = cindent < indent ? cindent : indent - sw
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ function HamGetIndent(lnum)
|
|||||||
" Add a shiftwidth to statements following if, else, elseif,
|
" Add a shiftwidth to statements following if, else, elseif,
|
||||||
" case, select, default, do, until, while, for, start
|
" case, select, default, do, until, while, for, start
|
||||||
if prevline =~? '^\s*\<\(if\|else\%(if\)\?\|for\|repeat\|do\|while\|sub\)\>'
|
if prevline =~? '^\s*\<\(if\|else\%(if\)\?\|for\|repeat\|do\|while\|sub\)\>'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract a shiftwidth from else, elseif, end(if|while|for), until
|
" Subtract a shiftwidth from else, elseif, end(if|while|for), until
|
||||||
let line = getline(v:lnum)
|
let line = getline(v:lnum)
|
||||||
if line =~? '^\s*\(else\|elseif\|loop\|until\|end\%(if\|while\|for\|sub\)\)\>'
|
if line =~? '^\s*\(else\|elseif\|loop\|until\|end\%(if\|while\|for\|sub\)\)\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ function GetHogIndent()
|
|||||||
" Continuation of a line that wasn't indented
|
" Continuation of a line that wasn't indented
|
||||||
let prevline = getline(prevlnum)
|
let prevline = getline(prevlnum)
|
||||||
if prevline =~ '^\k\+.*\\\s*$'
|
if prevline =~ '^\k\+.*\\\s*$'
|
||||||
return &sw
|
return shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Continuation of a line that was indented
|
" Continuation of a line that was indented
|
||||||
@@ -58,13 +58,13 @@ function GetHogIndent()
|
|||||||
" Indent the next line if previous line contained a start of a block
|
" Indent the next line if previous line contained a start of a block
|
||||||
" definition ('{' or '(').
|
" definition ('{' or '(').
|
||||||
if prevline =~ '^\k\+[^#]*{}\@!\s*$' " TODO || prevline =~ '^\k\+[^#]*()\@!\s*$'
|
if prevline =~ '^\k\+[^#]*{}\@!\s*$' " TODO || prevline =~ '^\k\+[^#]*()\@!\s*$'
|
||||||
return &sw
|
return shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Match inside of a block
|
" Match inside of a block
|
||||||
if s:IsInBlock(v:lnum)
|
if s:IsInBlock(v:lnum)
|
||||||
if prevline =~ "^\k\+.*$"
|
if prevline =~ "^\k\+.*$"
|
||||||
return &sw
|
return shiftwidth()
|
||||||
else
|
else
|
||||||
return indent(prevlnum)
|
return indent(prevlnum)
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Header: "{{{
|
" Header: "{{{
|
||||||
" Maintainer: Bram Moolenaar
|
" Maintainer: Bram Moolenaar
|
||||||
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
||||||
" Last Change: 2017 Jan 17
|
" Last Change: 2017 Jun 13
|
||||||
" Version: 1.0
|
" Version: 1.0
|
||||||
" Description: HTML indent script with cached state for faster indenting on a
|
" Description: HTML indent script with cached state for faster indenting on a
|
||||||
" range of lines.
|
" range of lines.
|
||||||
@@ -51,15 +51,6 @@ if exists("*HtmlIndent") && !exists('g:force_reload_html')
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" shiftwidth() exists since patch 7.3.694
|
|
||||||
if exists('*shiftwidth')
|
|
||||||
let s:ShiftWidth = function('shiftwidth')
|
|
||||||
else
|
|
||||||
func! s:ShiftWidth()
|
|
||||||
return &shiftwidth
|
|
||||||
endfunc
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Allow for line continuation below.
|
" Allow for line continuation below.
|
||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo-=C
|
set cpo-=C
|
||||||
@@ -123,7 +114,7 @@ func! HtmlIndent_CheckUserSettings()
|
|||||||
|
|
||||||
let indone = {"zero": 0
|
let indone = {"zero": 0
|
||||||
\,"auto": "indent(prevnonblank(v:lnum-1))"
|
\,"auto": "indent(prevnonblank(v:lnum-1))"
|
||||||
\,"inc": "b:hi_indent.blocktagind + s:ShiftWidth()"}
|
\,"inc": "b:hi_indent.blocktagind + shiftwidth()"}
|
||||||
|
|
||||||
let script1 = ''
|
let script1 = ''
|
||||||
if exists("b:html_indent_script1")
|
if exists("b:html_indent_script1")
|
||||||
@@ -358,7 +349,7 @@ func! s:CheckBlockTag(blocktag, ind)
|
|||||||
endif
|
endif
|
||||||
let b:hi_newstate.blocklnr = v:lnum
|
let b:hi_newstate.blocklnr = v:lnum
|
||||||
" save allover indent for the endtag
|
" save allover indent for the endtag
|
||||||
let b:hi_newstate.blocktagind = b:hi_indent.baseindent + (s:nextrel + s:curind) * s:ShiftWidth()
|
let b:hi_newstate.blocktagind = b:hi_indent.baseindent + (s:nextrel + s:curind) * shiftwidth()
|
||||||
if a:ind == 3
|
if a:ind == 3
|
||||||
return "SCRIPT" " all except this must be lowercase
|
return "SCRIPT" " all except this must be lowercase
|
||||||
" line is to be checked again for the type attribute
|
" line is to be checked again for the type attribute
|
||||||
@@ -480,7 +471,7 @@ func! s:FreshState(lnum)
|
|||||||
let state.blocklnr = stopline
|
let state.blocklnr = stopline
|
||||||
" check preceding tags in the line:
|
" check preceding tags in the line:
|
||||||
call s:CountITags(tagline[: stopcol-2])
|
call s:CountITags(tagline[: stopcol-2])
|
||||||
let state.blocktagind = indent(stopline) + (s:curind + s:nextrel) * s:ShiftWidth()
|
let state.blocktagind = indent(stopline) + (s:curind + s:nextrel) * shiftwidth()
|
||||||
return state
|
return state
|
||||||
elseif stopline == state.lnum
|
elseif stopline == state.lnum
|
||||||
" handle special case: previous line (= state.lnum) contains a
|
" handle special case: previous line (= state.lnum) contains a
|
||||||
@@ -490,7 +481,7 @@ func! s:FreshState(lnum)
|
|||||||
if !swendtag
|
if !swendtag
|
||||||
let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bnW")
|
let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bnW")
|
||||||
call s:CountITags(tolower(getline(bline)[: bcol-2]))
|
call s:CountITags(tolower(getline(bline)[: bcol-2]))
|
||||||
let state.baseindent = indent(bline) + (s:curind + s:nextrel) * s:ShiftWidth()
|
let state.baseindent = indent(bline) + (s:curind + s:nextrel) * shiftwidth()
|
||||||
return state
|
return state
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -511,7 +502,7 @@ func! s:FreshState(lnum)
|
|||||||
if found == 2
|
if found == 2
|
||||||
let state.baseindent = b:hi_indent.baseindent
|
let state.baseindent = b:hi_indent.baseindent
|
||||||
endif
|
endif
|
||||||
let state.blocktagind = indent(comlnum) + (s:curind + s:nextrel) * s:ShiftWidth()
|
let state.blocktagind = indent(comlnum) + (s:curind + s:nextrel) * shiftwidth()
|
||||||
return state
|
return state
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -530,7 +521,7 @@ func! s:FreshState(lnum)
|
|||||||
let text = tolower(getline(comlnum)[: comcol-2])
|
let text = tolower(getline(comlnum)[: comcol-2])
|
||||||
endif
|
endif
|
||||||
call s:CountITags(text)
|
call s:CountITags(text)
|
||||||
let state.baseindent = indent(comlnum) + (s:curind + s:nextrel) * s:ShiftWidth()
|
let state.baseindent = indent(comlnum) + (s:curind + s:nextrel) * shiftwidth()
|
||||||
" TODO check tags that follow "-->"
|
" TODO check tags that follow "-->"
|
||||||
return state
|
return state
|
||||||
endif
|
endif
|
||||||
@@ -550,9 +541,9 @@ func! s:FreshState(lnum)
|
|||||||
let text = getline(start_lnum)
|
let text = getline(start_lnum)
|
||||||
let swendtag = match(text, '^\s*</') >= 0
|
let swendtag = match(text, '^\s*</') >= 0
|
||||||
call s:CountITags(text[: col('.') - 2])
|
call s:CountITags(text[: col('.') - 2])
|
||||||
let state.baseindent += s:nextrel * s:ShiftWidth()
|
let state.baseindent += s:nextrel * shiftwidth()
|
||||||
if !swendtag
|
if !swendtag
|
||||||
let state.baseindent += s:curind * s:ShiftWidth()
|
let state.baseindent += s:curind * shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
return state
|
return state
|
||||||
@@ -565,9 +556,9 @@ func! s:FreshState(lnum)
|
|||||||
let text = getline(state.lnum)
|
let text = getline(state.lnum)
|
||||||
let swendtag = match(text, '^\s*</') >= 0
|
let swendtag = match(text, '^\s*</') >= 0
|
||||||
call s:CountITags(tolower(text))
|
call s:CountITags(tolower(text))
|
||||||
let state.baseindent = indent(state.lnum) + s:nextrel * s:ShiftWidth()
|
let state.baseindent = indent(state.lnum) + s:nextrel * shiftwidth()
|
||||||
if !swendtag
|
if !swendtag
|
||||||
let state.baseindent += s:curind * s:ShiftWidth()
|
let state.baseindent += s:curind * shiftwidth()
|
||||||
endif
|
endif
|
||||||
return state
|
return state
|
||||||
endfunc "}}}
|
endfunc "}}}
|
||||||
@@ -646,7 +637,7 @@ func! s:CSSIndent()
|
|||||||
|
|
||||||
" add indent after {
|
" add indent after {
|
||||||
let brace_counts = HtmlIndent_CountBraces(prev_lnum)
|
let brace_counts = HtmlIndent_CountBraces(prev_lnum)
|
||||||
let extra = brace_counts.c_open * s:ShiftWidth()
|
let extra = brace_counts.c_open * shiftwidth()
|
||||||
|
|
||||||
let prev_text = getline(prev_lnum)
|
let prev_text = getline(prev_lnum)
|
||||||
let below_end_brace = prev_text =~ '}\s*$'
|
let below_end_brace = prev_text =~ '}\s*$'
|
||||||
@@ -663,7 +654,7 @@ func! s:CSSIndent()
|
|||||||
" if the current line is not a comment or starts with @ (used by template
|
" if the current line is not a comment or starts with @ (used by template
|
||||||
" systems) reduce indent if previous line is a continuation line
|
" systems) reduce indent if previous line is a continuation line
|
||||||
if !prev_hasfield && !prev_special
|
if !prev_hasfield && !prev_special
|
||||||
let extra = -s:ShiftWidth()
|
let extra = -shiftwidth()
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:'
|
let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:'
|
||||||
@@ -671,14 +662,14 @@ func! s:CSSIndent()
|
|||||||
if !cur_hasfield && (prev_hasfield || prev_unfinished)
|
if !cur_hasfield && (prev_hasfield || prev_unfinished)
|
||||||
" Continuation line has extra indent if the previous line was not a
|
" Continuation line has extra indent if the previous line was not a
|
||||||
" continuation line.
|
" continuation line.
|
||||||
let extra = s:ShiftWidth()
|
let extra = shiftwidth()
|
||||||
" Align with @if
|
" Align with @if
|
||||||
if prev_text =~ '^\s*@if '
|
if prev_text =~ '^\s*@if '
|
||||||
let extra = 4
|
let extra = 4
|
||||||
endif
|
endif
|
||||||
elseif cur_hasfield && !prev_hasfield && !prev_special
|
elseif cur_hasfield && !prev_hasfield && !prev_special
|
||||||
" less indent below a continuation line
|
" less indent below a continuation line
|
||||||
let extra = -s:ShiftWidth()
|
let extra = -shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -699,10 +690,10 @@ func! s:CSSIndent()
|
|||||||
if special
|
if special
|
||||||
" do not reduce indent below @{ ... }
|
" do not reduce indent below @{ ... }
|
||||||
if extra < 0
|
if extra < 0
|
||||||
let extra += s:ShiftWidth()
|
let extra += shiftwidth()
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
let extra -= (brace_counts.c_close - (prev_text =~ '^\s*}')) * s:ShiftWidth()
|
let extra -= (brace_counts.c_close - (prev_text =~ '^\s*}')) * shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -710,10 +701,10 @@ func! s:CSSIndent()
|
|||||||
if extra == 0
|
if extra == 0
|
||||||
if brace_counts.p_open > brace_counts.p_close
|
if brace_counts.p_open > brace_counts.p_close
|
||||||
" previous line has more ( than ): add a shiftwidth
|
" previous line has more ( than ): add a shiftwidth
|
||||||
let extra = s:ShiftWidth()
|
let extra = shiftwidth()
|
||||||
elseif brace_counts.p_open < brace_counts.p_close
|
elseif brace_counts.p_open < brace_counts.p_close
|
||||||
" previous line has more ) than (: subtract a shiftwidth
|
" previous line has more ) than (: subtract a shiftwidth
|
||||||
let extra = -s:ShiftWidth()
|
let extra = -shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -816,7 +807,7 @@ func! s:Alien5()
|
|||||||
let idx = match(prevtext, '^\s*\zs<!--')
|
let idx = match(prevtext, '^\s*\zs<!--')
|
||||||
if idx >= 0
|
if idx >= 0
|
||||||
" just below comment start, add a shiftwidth
|
" just below comment start, add a shiftwidth
|
||||||
return idx + s:ShiftWidth()
|
return idx + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Some files add 4 spaces just below a TODO line. It's difficult to detect
|
" Some files add 4 spaces just below a TODO line. It's difficult to detect
|
||||||
@@ -837,7 +828,7 @@ func! s:Alien6()
|
|||||||
return indent(lnum)
|
return indent(lnum)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
return b:hi_indent.baseindent + s:ShiftWidth()
|
return b:hi_indent.baseindent + shiftwidth()
|
||||||
endfunc "}}}
|
endfunc "}}}
|
||||||
|
|
||||||
" When the "lnum" line ends in ">" find the line containing the matching "<".
|
" When the "lnum" line ends in ">" find the line containing the matching "<".
|
||||||
@@ -947,7 +938,7 @@ func! HtmlIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let curtext = tolower(getline(v:lnum))
|
let curtext = tolower(getline(v:lnum))
|
||||||
let indentunit = s:ShiftWidth()
|
let indentunit = shiftwidth()
|
||||||
|
|
||||||
let b:hi_newstate = {}
|
let b:hi_newstate = {}
|
||||||
let b:hi_newstate.lnum = v:lnum
|
let b:hi_newstate.lnum = v:lnum
|
||||||
@@ -1030,9 +1021,9 @@ func! HtmlIndent()
|
|||||||
if col('.') > 2
|
if col('.') > 2
|
||||||
let swendtag = match(text, '^\s*</') >= 0
|
let swendtag = match(text, '^\s*</') >= 0
|
||||||
call s:CountITags(text[: col('.') - 2])
|
call s:CountITags(text[: col('.') - 2])
|
||||||
let indent += s:nextrel * s:ShiftWidth()
|
let indent += s:nextrel * shiftwidth()
|
||||||
if !swendtag
|
if !swendtag
|
||||||
let indent += s:curind * s:ShiftWidth()
|
let indent += s:curind * shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" IDL (Interactive Data Language) indent file.
|
" IDL (Interactive Data Language) indent file.
|
||||||
" Language: IDL (ft=idlang)
|
" Language: IDL (ft=idlang)
|
||||||
" Last change: 2012 May 18
|
" Last change: 2017 Jun 13
|
||||||
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
|
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
@@ -34,25 +34,25 @@ function GetIdlangIndent(lnum)
|
|||||||
" Indenting of continued lines.
|
" Indenting of continued lines.
|
||||||
if getline(pnum) =~ '\$\s*\(;.*\)\=$'
|
if getline(pnum) =~ '\$\s*\(;.*\)\=$'
|
||||||
if getline(pnum2) !~ '\$\s*\(;.*\)\=$'
|
if getline(pnum2) !~ '\$\s*\(;.*\)\=$'
|
||||||
let curind = curind+&sw
|
let curind = curind+shiftwidth()
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
if getline(pnum2) =~ '\$\s*\(;.*\)\=$'
|
if getline(pnum2) =~ '\$\s*\(;.*\)\=$'
|
||||||
let curind = curind-&sw
|
let curind = curind-shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Indenting blocks of statements.
|
" Indenting blocks of statements.
|
||||||
if getline(v:lnum) =~? '^\s*\(endif\|endelse\|endwhile\|endfor\|endrep\)\>'
|
if getline(v:lnum) =~? '^\s*\(endif\|endelse\|endwhile\|endfor\|endrep\)\>'
|
||||||
if getline(pnum) =~? 'begin\>'
|
if getline(pnum) =~? 'begin\>'
|
||||||
elseif indent(v:lnum) > curind-&sw
|
elseif indent(v:lnum) > curind-shiftwidth()
|
||||||
let curind = curind-&sw
|
let curind = curind-shiftwidth()
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
elseif getline(pnum) =~? 'begin\>'
|
elseif getline(pnum) =~? 'begin\>'
|
||||||
if indent(v:lnum) < curind+&sw
|
if indent(v:lnum) < curind+shiftwidth()
|
||||||
let curind = curind+&sw
|
let curind = curind+shiftwidth()
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -50,17 +50,17 @@ fun! GetIshdIndent(lnum)
|
|||||||
|
|
||||||
" Add
|
" Add
|
||||||
if previous_line =~ '^\s*\<\(function\|begin\|switch\|case\|default\|if.\{-}then\|else\|elseif\|while\|repeat\)\>'
|
if previous_line =~ '^\s*\<\(function\|begin\|switch\|case\|default\|if.\{-}then\|else\|elseif\|while\|repeat\)\>'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract
|
" Subtract
|
||||||
if this_line =~ '^\s*\<endswitch\>'
|
if this_line =~ '^\s*\<endswitch\>'
|
||||||
let ind = ind - 2 * &sw
|
let ind = ind - 2 * shiftwidth()
|
||||||
elseif this_line =~ '^\s*\<\(begin\|end\|endif\|endwhile\|else\|elseif\|until\)\>'
|
elseif this_line =~ '^\s*\<\(begin\|end\|endif\|endwhile\|else\|elseif\|until\)\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
elseif this_line =~ '^\s*\<\(case\|default\)\>'
|
elseif this_line =~ '^\s*\<\(case\|default\)\>'
|
||||||
if previous_line !~ '^\s*\<switch\>'
|
if previous_line !~ '^\s*\<switch\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -236,9 +236,10 @@ function s:OneScope(lnum)
|
|||||||
\ s:save_pos('s:previous_token') != '.'
|
\ s:save_pos('s:previous_token') != '.'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" returns braceless levels started by 'i' and above lines * &sw. 'num' is the
|
" returns braceless levels started by 'i' and above lines * shiftwidth().
|
||||||
" lineNr which encloses the entire context, 'cont' if whether line 'i' + 1 is
|
" 'num' is the lineNr which encloses the entire context, 'cont' if whether
|
||||||
" a continued expression, which could have started in a braceless context
|
" line 'i' + 1 is a continued expression, which could have started in a
|
||||||
|
" braceless context
|
||||||
function s:iscontOne(i,num,cont)
|
function s:iscontOne(i,num,cont)
|
||||||
let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0]
|
let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0]
|
||||||
let pind = a:num ? indent(l:num) + s:W : 0
|
let pind = a:num ? indent(l:num) + s:W : 0
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: JSON
|
" Language: JSON
|
||||||
" Mantainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
|
" Mantainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
|
||||||
" Last Change: 2014 Aug 29
|
" Last Change: 2017 Jun 13
|
||||||
" https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c
|
" https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c
|
||||||
" Original Author: Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json
|
" Original Author: Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json
|
||||||
" Acknowledgement: Based off of vim-javascript maintained by Darrick Wiebe
|
" Acknowledgement: Based off of vim-javascript maintained by Darrick Wiebe
|
||||||
@@ -141,7 +141,7 @@ function GetJSONIndent()
|
|||||||
|
|
||||||
" If the previous line ended with a block opening, add a level of indent.
|
" If the previous line ended with a block opening, add a level of indent.
|
||||||
" if s:Match(lnum, s:block_regex)
|
" if s:Match(lnum, s:block_regex)
|
||||||
" return indent(lnum) + &sw
|
" return indent(lnum) + shiftwidth()
|
||||||
" endif
|
" endif
|
||||||
|
|
||||||
" If the previous line contained an opening bracket, and we are still in it,
|
" If the previous line contained an opening bracket, and we are still in it,
|
||||||
@@ -149,7 +149,7 @@ function GetJSONIndent()
|
|||||||
if line =~ '[[({]'
|
if line =~ '[[({]'
|
||||||
let counts = s:LineHasOpeningBrackets(lnum)
|
let counts = s:LineHasOpeningBrackets(lnum)
|
||||||
if counts[0] == '1' || counts[1] == '1' || counts[2] == '1'
|
if counts[0] == '1' || counts[1] == '1' || counts[2] == '1'
|
||||||
return ind + &sw
|
return ind + shiftwidth()
|
||||||
else
|
else
|
||||||
call cursor(v:lnum, vcol)
|
call cursor(v:lnum, vcol)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Liquid
|
" Language: Liquid
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Last Change: 2016 Aug 29
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
if exists('b:did_indent')
|
if exists('b:did_indent')
|
||||||
finish
|
finish
|
||||||
@@ -54,7 +54,7 @@ function! GetLiquidIndent(...)
|
|||||||
let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
|
let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
|
||||||
let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+')
|
let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+')
|
||||||
let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
|
let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
|
||||||
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
|
let sw = shiftwidth()
|
||||||
let ind += sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>')
|
let ind += sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>')
|
||||||
let ind -= sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>')
|
let ind -= sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>')
|
||||||
let ind -= sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>')
|
let ind -= sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>')
|
||||||
|
|||||||
@@ -38,24 +38,24 @@ function! GetLogtalkIndent()
|
|||||||
endif
|
endif
|
||||||
" Check for entity opening directive on previous line
|
" Check for entity opening directive on previous line
|
||||||
if pline =~ '^\s*:-\s\(object\|protocol\|category\)\ze(.*,$'
|
if pline =~ '^\s*:-\s\(object\|protocol\|category\)\ze(.*,$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
" Check for clause head on previous line
|
" Check for clause head on previous line
|
||||||
elseif pline =~ ':-\s*\(%.*\)\?$'
|
elseif pline =~ ':-\s*\(%.*\)\?$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
" Check for entity closing directive on previous line
|
" Check for entity closing directive on previous line
|
||||||
elseif pline =~ '^\s*:-\send_\(object\|protocol\|category\)\.\(%.*\)\?$'
|
elseif pline =~ '^\s*:-\send_\(object\|protocol\|category\)\.\(%.*\)\?$'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
" Check for end of clause on previous line
|
" Check for end of clause on previous line
|
||||||
elseif pline =~ '\.\s*\(%.*\)\?$'
|
elseif pline =~ '\.\s*\(%.*\)\?$'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
" Check for opening conditional on previous line
|
" Check for opening conditional on previous line
|
||||||
if pline =~ '^\s*\([(;]\|->\)' && pline !~ '\.\s*\(%.*\)\?$' && pline !~ '^.*\([)][,]\s*\(%.*\)\?$\)'
|
if pline =~ '^\s*\([(;]\|->\)' && pline !~ '\.\s*\(%.*\)\?$' && pline !~ '^.*\([)][,]\s*\(%.*\)\?$\)'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
" Check for closing an unclosed paren, or middle ; or ->
|
" Check for closing an unclosed paren, or middle ; or ->
|
||||||
if line =~ '^\s*\([);]\|->\)'
|
if line =~ '^\s*\([);]\|->\)'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
return ind
|
return ind
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Lua script
|
" Language: Lua script
|
||||||
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
|
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
|
||||||
" First Author: Max Ischenko <mfi 'at' ukr.net>
|
" First Author: Max Ischenko <mfi 'at' ukr.net>
|
||||||
" Last Change: 2016 Jan 10
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
@@ -48,7 +48,7 @@ function! GetLuaIndent()
|
|||||||
" Add 'shiftwidth' if what we found previously is not in a comment and
|
" Add 'shiftwidth' if what we found previously is not in a comment and
|
||||||
" an "end" or "until" is not present on the same line.
|
" an "end" or "until" is not present on the same line.
|
||||||
if synIDattr(synID(prevlnum, midx + 1, 1), "name") != "luaComment" && prevline !~ '\<end\>\|\<until\>'
|
if synIDattr(synID(prevlnum, midx + 1, 1), "name") != "luaComment" && prevline !~ '\<end\>\|\<until\>'
|
||||||
let ind = ind + &shiftwidth
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ function! GetLuaIndent()
|
|||||||
" This is the part that requires 'indentkeys'.
|
" This is the part that requires 'indentkeys'.
|
||||||
let midx = match(getline(v:lnum), '^\s*\%(end\>\|else\>\|elseif\>\|until\>\|}\)')
|
let midx = match(getline(v:lnum), '^\s*\%(end\>\|else\>\|elseif\>\|until\>\|}\)')
|
||||||
if midx != -1 && synIDattr(synID(v:lnum, midx + 1, 1), "name") != "luaComment"
|
if midx != -1 && synIDattr(synID(v:lnum, midx + 1, 1), "name") != "luaComment"
|
||||||
let ind = ind - &shiftwidth
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -44,9 +44,9 @@ function GetMatlabIndent(lnum)
|
|||||||
" See if this line does not follow the line right after an openblock
|
" See if this line does not follow the line right after an openblock
|
||||||
if getline(plnum) =~ '^\s*\(for\|if\|else\|elseif\|case\|while\|switch\|try\|otherwise\|catch\)\>'
|
if getline(plnum) =~ '^\s*\(for\|if\|else\|elseif\|case\|while\|switch\|try\|otherwise\|catch\)\>'
|
||||||
" See if the user has already dedented
|
" See if the user has already dedented
|
||||||
elseif indent(v:lnum) > curind - &sw
|
elseif indent(v:lnum) > curind - shiftwidth()
|
||||||
" If not, recommend one dedent
|
" If not, recommend one dedent
|
||||||
let curind = curind - &sw
|
let curind = curind - shiftwidth()
|
||||||
else
|
else
|
||||||
" Otherwise, trust the user
|
" Otherwise, trust the user
|
||||||
return -1
|
return -1
|
||||||
@@ -56,9 +56,9 @@ function GetMatlabIndent(lnum)
|
|||||||
" If the previous line opened a block
|
" If the previous line opened a block
|
||||||
elseif getline(plnum) =~ '^\s*\(for\|if\|else\|elseif\|case\|while\|switch\|try\|otherwise\|catch\)\>'
|
elseif getline(plnum) =~ '^\s*\(for\|if\|else\|elseif\|case\|while\|switch\|try\|otherwise\|catch\)\>'
|
||||||
" See if the user has already indented
|
" See if the user has already indented
|
||||||
if indent(v:lnum) < curind + &sw
|
if indent(v:lnum) < curind + shiftwidth()
|
||||||
"If not, recommend indent
|
"If not, recommend indent
|
||||||
let curind = curind + &sw
|
let curind = curind + shiftwidth()
|
||||||
else
|
else
|
||||||
" Otherwise, trust the user
|
" Otherwise, trust the user
|
||||||
return -1
|
return -1
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ function GetMmaIndent()
|
|||||||
" also, indent only if this line if this line isn't starting a new
|
" also, indent only if this line if this line isn't starting a new
|
||||||
" block... TODO - fix this with indentkeys?
|
" block... TODO - fix this with indentkeys?
|
||||||
if getline(v:lnum-1) =~ '\\\@<!\%(\[[^\]]*\|([^)]*\|{[^}]*\)$' && getline(v:lnum) !~ '\s\+[\[({]'
|
if getline(v:lnum-1) =~ '\\\@<!\%(\[[^\]]*\|([^)]*\|{[^}]*\)$' && getline(v:lnum) !~ '\s\+[\[({]'
|
||||||
let ind = ind+&sw
|
let ind = ind+shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" if this line had unmatched closing block,
|
" if this line had unmatched closing block,
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
" Mike Leary <leary@nwlink.com>
|
" Mike Leary <leary@nwlink.com>
|
||||||
" Markus Mottl <markus.mottl@gmail.com>
|
" Markus Mottl <markus.mottl@gmail.com>
|
||||||
" URL: http://www.ocaml.info/vim/indent/ocaml.vim
|
" URL: http://www.ocaml.info/vim/indent/ocaml.vim
|
||||||
" Last Change: 2013 Jun 29
|
" Last Change: 2017 Jun 13
|
||||||
" 2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working
|
" 2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working
|
||||||
" 2005 May 09 - Added an option to not indent OCaml-indents specially (MM)
|
" 2005 May 09 - Added an option to not indent OCaml-indents specially (MM)
|
||||||
" 2013 June - commented textwidth (Marc Weber)
|
" 2013 June - commented textwidth (Marc Weber)
|
||||||
@@ -101,7 +101,7 @@ function! GetOCamlIndent()
|
|||||||
|
|
||||||
" Return double 'shiftwidth' after lines matching:
|
" Return double 'shiftwidth' after lines matching:
|
||||||
if lline =~ '^\s*|.*->\s*$'
|
if lline =~ '^\s*|.*->\s*$'
|
||||||
return ind + &sw + &sw
|
return ind + 2 * shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let line = getline(v:lnum)
|
let line = getline(v:lnum)
|
||||||
@@ -172,7 +172,7 @@ function! GetOCamlIndent()
|
|||||||
" Indent if current line begins with 'and':
|
" Indent if current line begins with 'and':
|
||||||
elseif line =~ '^\s*and\>'
|
elseif line =~ '^\s*and\>'
|
||||||
if lline !~ '^\s*\(and\|let\|type\)\>\|\<end\s*$'
|
if lline !~ '^\s*\(and\|let\|type\)\>\|\<end\s*$'
|
||||||
return ind - &sw
|
return ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Indent if current line begins with 'with':
|
" Indent if current line begins with 'with':
|
||||||
@@ -199,14 +199,14 @@ function! GetOCamlIndent()
|
|||||||
" or 'method':
|
" or 'method':
|
||||||
elseif line =~ '^\s*\(constraint\|inherit\|initializer\|method\)\>'
|
elseif line =~ '^\s*\(constraint\|inherit\|initializer\|method\)\>'
|
||||||
if lline !~ s:obj
|
if lline !~ s:obj
|
||||||
return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + &sw
|
return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Add a 'shiftwidth' after lines ending with:
|
" Add a 'shiftwidth' after lines ending with:
|
||||||
if lline =~ '\(:\|=\|->\|<-\|(\|\[\|{\|{<\|\[|\|\[<\|\<\(begin\|do\|else\|fun\|function\|functor\|if\|initializer\|object\|parser\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$'
|
if lline =~ '\(:\|=\|->\|<-\|(\|\[\|{\|{<\|\[|\|\[<\|\<\(begin\|do\|else\|fun\|function\|functor\|if\|initializer\|object\|parser\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
|
|
||||||
" Back to normal indent after lines ending with ';;':
|
" Back to normal indent after lines ending with ';;':
|
||||||
elseif lline =~ ';;\s*$' && lline !~ '^\s*;;'
|
elseif lline =~ ';;\s*$' && lline !~ '^\s*;;'
|
||||||
@@ -263,7 +263,7 @@ function! GetOCamlIndent()
|
|||||||
|
|
||||||
" Subtract a 'shiftwidth' after lines matching 'match ... with parser':
|
" Subtract a 'shiftwidth' after lines matching 'match ... with parser':
|
||||||
if lline =~ '\<match\>.*\<with\>\s*\<parser\s*$'
|
if lline =~ '\<match\>.*\<with\>\s*\<parser\s*$'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ function GetOccamIndent()
|
|||||||
if line =~ s:FirstLevelIndent || (line =~ s:FirstLevelNonColonEndIndent && line !~ s:ColonEnd)
|
if line =~ s:FirstLevelIndent || (line =~ s:FirstLevelNonColonEndIndent && line !~ s:ColonEnd)
|
||||||
\ || (line !~ s:ColonStart && (prevline =~ s:SecondLevelIndent
|
\ || (line !~ s:ColonStart && (prevline =~ s:SecondLevelIndent
|
||||||
\ || (prevline =~ s:SecondLevelNonColonEndIndent && prevline !~ s:ColonEnd)))
|
\ || (prevline =~ s:SecondLevelNonColonEndIndent && prevline !~ s:ColonEnd)))
|
||||||
let curindent = curindent + &shiftwidth
|
let curindent = curindent + shiftwidth()
|
||||||
|
|
||||||
" Restore magic
|
" Restore magic
|
||||||
if !save_magic|setlocal nomagic|endif
|
if !save_magic|setlocal nomagic|endif
|
||||||
@@ -153,7 +153,7 @@ function GetOccamIndent()
|
|||||||
|
|
||||||
while !found
|
while !found
|
||||||
|
|
||||||
if indent(prevlinenum) == curindent - &shiftwidth
|
if indent(prevlinenum) == curindent - shiftwidth()
|
||||||
let found = 1
|
let found = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ function GetOccamIndent()
|
|||||||
|
|
||||||
if prevlinenum > 0
|
if prevlinenum > 0
|
||||||
if getline(prevlinenum) =~ s:SecondLevelIndent
|
if getline(prevlinenum) =~ s:SecondLevelIndent
|
||||||
let curindent = curindent + &shiftwidth
|
let curindent = curindent + shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Pascal
|
" Language: Pascal
|
||||||
" Maintainer: Neil Carter <n.carter@swansea.ac.uk>
|
" Maintainer: Neil Carter <n.carter@swansea.ac.uk>
|
||||||
" Created: 2004 Jul 13
|
" Created: 2004 Jul 13
|
||||||
" Last Change: 2011 Apr 01
|
" Last Change: 2017 Jun 13
|
||||||
"
|
"
|
||||||
" This is version 2.0, a complete rewrite.
|
" This is version 2.0, a complete rewrite.
|
||||||
"
|
"
|
||||||
@@ -102,12 +102,12 @@ function! GetPascalIndent( line_num )
|
|||||||
|
|
||||||
" If the PREVIOUS LINE ended in these items, always indent
|
" If the PREVIOUS LINE ended in these items, always indent
|
||||||
if prev_codeline =~ '\<\(type\|const\|var\)$'
|
if prev_codeline =~ '\<\(type\|const\|var\)$'
|
||||||
return indnt + &shiftwidth
|
return indnt + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if prev_codeline =~ '\<repeat$'
|
if prev_codeline =~ '\<repeat$'
|
||||||
if this_codeline !~ '^\s*until\>'
|
if this_codeline !~ '^\s*until\>'
|
||||||
return indnt + &shiftwidth
|
return indnt + shiftwidth()
|
||||||
else
|
else
|
||||||
return indnt
|
return indnt
|
||||||
endif
|
endif
|
||||||
@@ -115,7 +115,7 @@ function! GetPascalIndent( line_num )
|
|||||||
|
|
||||||
if prev_codeline =~ '\<\(begin\|record\)$'
|
if prev_codeline =~ '\<\(begin\|record\)$'
|
||||||
if this_codeline !~ '^\s*end\>'
|
if this_codeline !~ '^\s*end\>'
|
||||||
return indnt + &shiftwidth
|
return indnt + shiftwidth()
|
||||||
else
|
else
|
||||||
return indnt
|
return indnt
|
||||||
endif
|
endif
|
||||||
@@ -125,10 +125,10 @@ function! GetPascalIndent( line_num )
|
|||||||
" followed by "begin"
|
" followed by "begin"
|
||||||
if prev_codeline =~ '\<\(\|else\|then\|do\)$' || prev_codeline =~ ':$'
|
if prev_codeline =~ '\<\(\|else\|then\|do\)$' || prev_codeline =~ ':$'
|
||||||
if this_codeline !~ '^\s*begin\>'
|
if this_codeline !~ '^\s*begin\>'
|
||||||
return indnt + &shiftwidth
|
return indnt + shiftwidth()
|
||||||
else
|
else
|
||||||
" If it does start with "begin" then keep the same indent
|
" If it does start with "begin" then keep the same indent
|
||||||
"return indnt + &shiftwidth
|
"return indnt + shiftwidth()
|
||||||
return indnt
|
return indnt
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -137,7 +137,7 @@ function! GetPascalIndent( line_num )
|
|||||||
" only the line before the current one. TODO: Get it working for
|
" only the line before the current one. TODO: Get it working for
|
||||||
" parameter lists longer than two lines.
|
" parameter lists longer than two lines.
|
||||||
if prev_codeline =~ '([^)]\+$'
|
if prev_codeline =~ '([^)]\+$'
|
||||||
return indnt + &shiftwidth
|
return indnt + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@@ -146,7 +146,7 @@ function! GetPascalIndent( line_num )
|
|||||||
" Lines starting with "else", but not following line ending with
|
" Lines starting with "else", but not following line ending with
|
||||||
" "end".
|
" "end".
|
||||||
if this_codeline =~ '^\s*else\>' && prev_codeline !~ '\<end$'
|
if this_codeline =~ '^\s*else\>' && prev_codeline !~ '\<end$'
|
||||||
return indnt - &shiftwidth
|
return indnt - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Lines after a single-statement branch/loop.
|
" Lines after a single-statement branch/loop.
|
||||||
@@ -160,16 +160,16 @@ function! GetPascalIndent( line_num )
|
|||||||
" additional unindentation.
|
" additional unindentation.
|
||||||
if this_codeline =~ '^\s*\(end;\|except\|finally\|\)$'
|
if this_codeline =~ '^\s*\(end;\|except\|finally\|\)$'
|
||||||
" Note that we don't return from here.
|
" Note that we don't return from here.
|
||||||
return indnt - &shiftwidth - &shiftwidth
|
return indnt - 2 * shiftwidth()
|
||||||
endif
|
endif
|
||||||
return indnt - &shiftwidth
|
return indnt - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Lines starting with "until" or "end". This rule must be overridden
|
" Lines starting with "until" or "end". This rule must be overridden
|
||||||
" by the one for "end" after a single-statement branch/loop. In
|
" by the one for "end" after a single-statement branch/loop. In
|
||||||
" other words that rule should come before this one.
|
" other words that rule should come before this one.
|
||||||
if this_codeline =~ '^\s*\(end\|until\)\>'
|
if this_codeline =~ '^\s*\(end\|until\)\>'
|
||||||
return indnt - &shiftwidth
|
return indnt - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@@ -201,7 +201,7 @@ function! GetPascalIndent( line_num )
|
|||||||
|
|
||||||
" If the PREVIOUS LINE ended in these items, always indent.
|
" If the PREVIOUS LINE ended in these items, always indent.
|
||||||
if prev_codeline =~ '^\s*\(unit\|uses\|try\|except\|finally\|private\|protected\|public\|published\)$'
|
if prev_codeline =~ '^\s*\(unit\|uses\|try\|except\|finally\|private\|protected\|public\|published\)$'
|
||||||
return indnt + &shiftwidth
|
return indnt + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" ???? Indent "procedure" and "functions" if they appear within an
|
" ???? Indent "procedure" and "functions" if they appear within an
|
||||||
@@ -212,11 +212,11 @@ function! GetPascalIndent( line_num )
|
|||||||
" UNINDENT ONCE
|
" UNINDENT ONCE
|
||||||
|
|
||||||
if this_codeline =~ '^\s*\(except\|finally\)$'
|
if this_codeline =~ '^\s*\(except\|finally\)$'
|
||||||
return indnt - &shiftwidth
|
return indnt - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if this_codeline =~ '^\s*\(private\|protected\|public\|published\)$'
|
if this_codeline =~ '^\s*\(private\|protected\|public\|published\)$'
|
||||||
return indnt - &shiftwidth
|
return indnt - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2013-07-24
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
" Suggestions and improvements by :
|
" Suggestions and improvements by :
|
||||||
" Aaron J. Sherman (use syntax for hints)
|
" Aaron J. Sherman (use syntax for hints)
|
||||||
@@ -138,9 +138,9 @@ function! GetPerlIndent()
|
|||||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||||
let brace = strpart(line, bracepos, 1)
|
let brace = strpart(line, bracepos, 1)
|
||||||
if brace == '(' || brace == '{' || brace == '['
|
if brace == '(' || brace == '{' || brace == '['
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
else
|
else
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let bracepos = match(line, braceclass, bracepos + 1)
|
let bracepos = match(line, braceclass, bracepos + 1)
|
||||||
@@ -152,25 +152,25 @@ function! GetPerlIndent()
|
|||||||
\ || synid == "perlMatchStartEnd"
|
\ || synid == "perlMatchStartEnd"
|
||||||
\ || synid == "perlBraces"
|
\ || synid == "perlBraces"
|
||||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
if line =~ '[{[(]\s*\(#[^])}]*\)\=$'
|
if line =~ '[{[(]\s*\(#[^])}]*\)\=$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
if cline =~ '^\s*[])}]'
|
if cline =~ '^\s*[])}]'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Indent lines that begin with 'or' or 'and'
|
" Indent lines that begin with 'or' or 'and'
|
||||||
if cline =~ '^\s*\(or\|and\)\>'
|
if cline =~ '^\s*\(or\|and\)\>'
|
||||||
if line !~ '^\s*\(or\|and\)\>'
|
if line !~ '^\s*\(or\|and\)\>'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif line =~ '^\s*\(or\|and\)\>'
|
elseif line =~ '^\s*\(or\|and\)\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2013-07-21
|
" Last Change: 2017 Jun 13
|
||||||
" Contributors: Andy Lester <andy@petdance.com>
|
" Contributors: Andy Lester <andy@petdance.com>
|
||||||
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||||
"
|
"
|
||||||
@@ -107,19 +107,19 @@ function! GetPerl6Indent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if line =~ '[<«\[{(]\s*\(#[^)}\]»>]*\)\=$'
|
if line =~ '[<«\[{(]\s*\(#[^)}\]»>]*\)\=$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
if cline =~ '^\s*[)}\]»>]'
|
if cline =~ '^\s*[)}\]»>]'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Indent lines that begin with 'or' or 'and'
|
" Indent lines that begin with 'or' or 'and'
|
||||||
if cline =~ '^\s*\(or\|and\)\>'
|
if cline =~ '^\s*\(or\|and\)\>'
|
||||||
if line !~ '^\s*\(or\|and\)\>'
|
if line !~ '^\s*\(or\|and\)\>'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif line =~ '^\s*\(or\|and\)\>'
|
elseif line =~ '^\s*\(or\|and\)\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
|
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
|
||||||
" URL: http://www.2072productions.com/vim/indent/php.vim
|
" URL: http://www.2072productions.com/vim/indent/php.vim
|
||||||
" Home: https://github.com/2072/PHP-Indenting-for-VIm
|
" Home: https://github.com/2072/PHP-Indenting-for-VIm
|
||||||
" Last Change: 2017 March 12th
|
" Last Change: 2017 Jun 13
|
||||||
" Version: 1.62
|
" Version: 1.62
|
||||||
"
|
"
|
||||||
"
|
"
|
||||||
@@ -50,25 +50,15 @@ let b:did_indent = 1
|
|||||||
|
|
||||||
let g:php_sync_method = 0
|
let g:php_sync_method = 0
|
||||||
|
|
||||||
if exists('*shiftwidth')
|
|
||||||
function! s:sw()
|
|
||||||
return shiftwidth()
|
|
||||||
endfunction
|
|
||||||
else
|
|
||||||
function! s:sw()
|
|
||||||
return &shiftwidth
|
|
||||||
endfunction
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
if exists("PHP_default_indenting")
|
if exists("PHP_default_indenting")
|
||||||
let b:PHP_default_indenting = PHP_default_indenting * s:sw()
|
let b:PHP_default_indenting = PHP_default_indenting * shiftwidth()
|
||||||
else
|
else
|
||||||
let b:PHP_default_indenting = 0
|
let b:PHP_default_indenting = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if exists("PHP_outdentSLComments")
|
if exists("PHP_outdentSLComments")
|
||||||
let b:PHP_outdentSLComments = PHP_outdentSLComments * s:sw()
|
let b:PHP_outdentSLComments = PHP_outdentSLComments * shiftwidth()
|
||||||
else
|
else
|
||||||
let b:PHP_outdentSLComments = 0
|
let b:PHP_outdentSLComments = 0
|
||||||
endif
|
endif
|
||||||
@@ -357,7 +347,7 @@ function! FindTheSwitchIndent (lnum) " {{{
|
|||||||
let test = GetLastRealCodeLNum(a:lnum - 1)
|
let test = GetLastRealCodeLNum(a:lnum - 1)
|
||||||
|
|
||||||
if test <= 1
|
if test <= 1
|
||||||
return indent(1) - s:sw() * b:PHP_vintage_case_default_indent
|
return indent(1) - shiftwidth() * b:PHP_vintage_case_default_indent
|
||||||
end
|
end
|
||||||
|
|
||||||
while getline(test) =~ '^\s*}' && test > 1
|
while getline(test) =~ '^\s*}' && test > 1
|
||||||
@@ -371,7 +361,7 @@ function! FindTheSwitchIndent (lnum) " {{{
|
|||||||
if getline(test) =~# '^\s*switch\>'
|
if getline(test) =~# '^\s*switch\>'
|
||||||
return indent(test)
|
return indent(test)
|
||||||
elseif getline(test) =~# s:defaultORcase
|
elseif getline(test) =~# s:defaultORcase
|
||||||
return indent(test) - s:sw() * b:PHP_vintage_case_default_indent
|
return indent(test) - shiftwidth() * b:PHP_vintage_case_default_indent
|
||||||
else
|
else
|
||||||
return FindTheSwitchIndent(test)
|
return FindTheSwitchIndent(test)
|
||||||
endif
|
endif
|
||||||
@@ -444,7 +434,7 @@ function! GetPhpIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if b:PHP_default_indenting
|
if b:PHP_default_indenting
|
||||||
let b:PHP_default_indenting = g:PHP_default_indenting * s:sw()
|
let b:PHP_default_indenting = g:PHP_default_indenting * shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let cline = getline(v:lnum)
|
let cline = getline(v:lnum)
|
||||||
@@ -701,7 +691,7 @@ function! GetPhpIndent()
|
|||||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||||
return indent(FindTheIfOfAnElse(v:lnum, 1))
|
return indent(FindTheIfOfAnElse(v:lnum, 1))
|
||||||
elseif cline =~# s:defaultORcase
|
elseif cline =~# s:defaultORcase
|
||||||
return FindTheSwitchIndent(v:lnum) + s:sw() * b:PHP_vintage_case_default_indent
|
return FindTheSwitchIndent(v:lnum) + shiftwidth() * b:PHP_vintage_case_default_indent
|
||||||
elseif cline =~ '^\s*)\=\s*{'
|
elseif cline =~ '^\s*)\=\s*{'
|
||||||
let previous_line = last_line
|
let previous_line = last_line
|
||||||
let last_line_num = lnum
|
let last_line_num = lnum
|
||||||
@@ -713,7 +703,7 @@ function! GetPhpIndent()
|
|||||||
let ind = indent(last_line_num)
|
let ind = indent(last_line_num)
|
||||||
|
|
||||||
if b:PHP_BracesAtCodeLevel
|
if b:PHP_BracesAtCodeLevel
|
||||||
let ind = ind + s:sw()
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
@@ -724,7 +714,7 @@ function! GetPhpIndent()
|
|||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
elseif last_line =~# unstated && cline !~ '^\s*);\='.endline
|
elseif last_line =~# unstated && cline !~ '^\s*);\='.endline
|
||||||
let ind = ind + s:sw() " we indent one level further when the preceding line is not stated
|
let ind = ind + shiftwidth() " we indent one level further when the preceding line is not stated
|
||||||
return ind + addSpecial
|
return ind + addSpecial
|
||||||
|
|
||||||
elseif (ind != b:PHP_default_indenting || last_line =~ '^[)\]]' ) && last_line =~ terminated
|
elseif (ind != b:PHP_default_indenting || last_line =~ '^[)\]]' ) && last_line =~ terminated
|
||||||
@@ -823,7 +813,7 @@ function! GetPhpIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if !dontIndent && (!b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{')
|
if !dontIndent && (!b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{')
|
||||||
let ind = ind + s:sw()
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1
|
if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1
|
||||||
@@ -841,17 +831,17 @@ function! GetPhpIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
elseif last_line =~ '^\s*'.s:blockstart
|
elseif last_line =~ '^\s*'.s:blockstart
|
||||||
let ind = ind + s:sw()
|
let ind = ind + shiftwidth()
|
||||||
|
|
||||||
|
|
||||||
elseif AntepenultimateLine =~ '{'.endline && AntepenultimateLine !~? '^\s*use\>' || AntepenultimateLine =~ terminated || AntepenultimateLine =~# s:defaultORcase
|
elseif AntepenultimateLine =~ '{'.endline && AntepenultimateLine !~? '^\s*use\>' || AntepenultimateLine =~ terminated || AntepenultimateLine =~# s:defaultORcase
|
||||||
let ind = ind + s:sw()
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if cline =~ '^\s*[)\]];\='
|
if cline =~ '^\s*[)\]];\='
|
||||||
let ind = ind - s:sw()
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let b:PHP_CurrentIndentLevel = ind
|
let b:PHP_CurrentIndentLevel = ind
|
||||||
|
|||||||
@@ -41,16 +41,16 @@ function! PostscrIndentGet(lnum)
|
|||||||
|
|
||||||
" Indent for dicts, arrays, and saves with possible trailing comment
|
" Indent for dicts, arrays, and saves with possible trailing comment
|
||||||
if pline =~ '\(begin\|<<\|g\=save\|{\|[\)\s*\(%.*\)\=$'
|
if pline =~ '\(begin\|<<\|g\=save\|{\|[\)\s*\(%.*\)\=$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Remove indent for popped dicts, and restores.
|
" Remove indent for popped dicts, and restores.
|
||||||
if pline =~ '\(end\|g\=restore\)\s*$'
|
if pline =~ '\(end\|g\=restore\)\s*$'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
|
|
||||||
" Else handle immediate dedents of dicts, restores, and arrays.
|
" Else handle immediate dedents of dicts, restores, and arrays.
|
||||||
elseif getline(a:lnum) =~ '\(end\|>>\|g\=restore\|}\|]\)'
|
elseif getline(a:lnum) =~ '\(end\|>>\|g\=restore\|}\|]\)'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
|
|
||||||
" Else handle DSC comments - always start of line.
|
" Else handle DSC comments - always start of line.
|
||||||
elseif getline(a:lnum) =~ '^\s*%%'
|
elseif getline(a:lnum) =~ '^\s*%%'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: PoV-Ray Scene Description Language
|
" Language: PoV-Ray Scene Description Language
|
||||||
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
||||||
" Last Change: 2002-10-20
|
" Last Change: 2017 Jun 13
|
||||||
" URI: http://trific.ath.cx/Ftp/vim/indent/pov.vim
|
" URI: http://trific.ath.cx/Ftp/vim/indent/pov.vim
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
@@ -75,9 +75,9 @@ function GetPoVRayIndent()
|
|||||||
" opening line.
|
" opening line.
|
||||||
let cur = s:MatchCount(v:lnum, '^\s*\%(#\s*\%(end\|else\)\>\|[]})]\)')
|
let cur = s:MatchCount(v:lnum, '^\s*\%(#\s*\%(end\|else\)\>\|[]})]\)')
|
||||||
if cur > 0
|
if cur > 0
|
||||||
let final = plind + (chg - cur) * &sw
|
let final = plind + (chg - cur) * shiftwidth()
|
||||||
else
|
else
|
||||||
let final = plind + chg * &sw
|
let final = plind + chg * shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return final < 0 ? 0 : final
|
return final < 0 ? 0 : final
|
||||||
|
|||||||
@@ -41,18 +41,18 @@ function! GetPrologIndent()
|
|||||||
endif
|
endif
|
||||||
" Check for clause head on previous line
|
" Check for clause head on previous line
|
||||||
if pline =~ ':-\s*\(%.*\)\?$'
|
if pline =~ ':-\s*\(%.*\)\?$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
" Check for end of clause on previous line
|
" Check for end of clause on previous line
|
||||||
elseif pline =~ '\.\s*\(%.*\)\?$'
|
elseif pline =~ '\.\s*\(%.*\)\?$'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
" Check for opening conditional on previous line
|
" Check for opening conditional on previous line
|
||||||
if pline =~ '^\s*\([(;]\|->\)'
|
if pline =~ '^\s*\([(;]\|->\)'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
" Check for closing an unclosed paren, or middle ; or ->
|
" Check for closing an unclosed paren, or middle ; or ->
|
||||||
if line =~ '^\s*\([);]\|->\)'
|
if line =~ '^\s*\([);]\|->\)'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
return ind
|
return ind
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: RPL/2
|
" Language: RPL/2
|
||||||
" Version: 0.2
|
" Version: 0.2
|
||||||
" Last Change: 2005 Mar 28
|
" Last Change: 2017 Jun 13
|
||||||
" Maintainer: BERTRAND Jo<4A>l <rpl2@free.fr>
|
" Maintainer: BERTRAND Jo<4A>l <rpl2@free.fr>
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
@@ -32,16 +32,16 @@ function RplGetIndent(lnum)
|
|||||||
if prevstat =~? '\<\(if\|iferr\|do\|while\)\>' && prevstat =~? '\<end\>'
|
if prevstat =~? '\<\(if\|iferr\|do\|while\)\>' && prevstat =~? '\<end\>'
|
||||||
elseif prevstat =~? '\(^\|\s\+\)<<\($\|\s\+\)' && prevstat =~? '\s\+>>\($\|\s\+\)'
|
elseif prevstat =~? '\(^\|\s\+\)<<\($\|\s\+\)' && prevstat =~? '\s\+>>\($\|\s\+\)'
|
||||||
elseif prevstat =~? '\<\(if\|iferr\|then\|else\|elseif\|select\|case\|do\|until\|while\|repeat\|for\|start\|default\)\>' || prevstat =~? '\(^\|\s\+\)<<\($\|\s\+\)'
|
elseif prevstat =~? '\<\(if\|iferr\|then\|else\|elseif\|select\|case\|do\|until\|while\|repeat\|for\|start\|default\)\>' || prevstat =~? '\(^\|\s\+\)<<\($\|\s\+\)'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract a shiftwidth from then, else, elseif, end, until, repeat, next,
|
" Subtract a shiftwidth from then, else, elseif, end, until, repeat, next,
|
||||||
" step
|
" step
|
||||||
let line = getline(v:lnum)
|
let line = getline(v:lnum)
|
||||||
if line =~? '^\s*\(then\|else\|elseif\|until\|repeat\|next\|step\|default\|end\)\>'
|
if line =~? '^\s*\(then\|else\|elseif\|until\|repeat\|next\|step\|default\|end\)\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
elseif line =~? '^\s*>>\($\|\s\+\)'
|
elseif line =~? '^\s*>>\($\|\s\+\)'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -404,11 +404,7 @@ function GetRubyIndent(...)
|
|||||||
" ----------
|
" ----------
|
||||||
|
|
||||||
" The value of a single shift-width
|
" The value of a single shift-width
|
||||||
if exists('*shiftwidth')
|
let sw = shiftwidth()
|
||||||
let sw = shiftwidth()
|
|
||||||
else
|
|
||||||
let sw = &sw
|
|
||||||
endif
|
|
||||||
|
|
||||||
" For the current line, use the first argument if given, else v:lnum
|
" For the current line, use the first argument if given, else v:lnum
|
||||||
let clnum = a:0 ? a:1 : v:lnum
|
let clnum = a:0 ? a:1 : v:lnum
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Rust
|
" Language: Rust
|
||||||
" Author: Chris Morgan <me@chrismorgan.info>
|
" Author: Chris Morgan <me@chrismorgan.info>
|
||||||
" Last Change: 2017 Mar 21
|
" Last Change: 2017 Jun 13
|
||||||
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
@@ -199,7 +199,7 @@ function GetRustIndent(lnum)
|
|||||||
" It's the closing line, dedent it
|
" It's the closing line, dedent it
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
return &shiftwidth
|
return shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Sass
|
" Language: Sass
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||||
" Last Change: 2016 Aug 29
|
" Last Change: 2017 Jun 13
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -29,7 +29,7 @@ function! GetSassIndent()
|
|||||||
let indent = indent(lnum)
|
let indent = indent(lnum)
|
||||||
let cindent = indent(v:lnum)
|
let cindent = indent(v:lnum)
|
||||||
if line !~ s:property && line !~ s:extend && cline =~ s:property
|
if line !~ s:property && line !~ s:extend && cline =~ s:property
|
||||||
return indent + (exists('*shiftwidth') ? shiftwidth() : &sw)
|
return indent + shiftwidth()
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -46,17 +46,17 @@ function! GetSDLIndent()
|
|||||||
if (getline(lnum) =~? '^\s*\(start\|state\|system\|package\|connection\|channel\|alternative\|macro\|operator\|newtype\|select\|substructure\|decision\|generator\|refinement\|service\|method\|exceptionhandler\|asntype\|syntype\|value\|(.*):\|\(priority\s\+\)\=input\|provided\)'
|
if (getline(lnum) =~? '^\s*\(start\|state\|system\|package\|connection\|channel\|alternative\|macro\|operator\|newtype\|select\|substructure\|decision\|generator\|refinement\|service\|method\|exceptionhandler\|asntype\|syntype\|value\|(.*):\|\(priority\s\+\)\=input\|provided\)'
|
||||||
\ || getline(lnum) =~? virtuality . '\(process\|procedure\|block\|object\)')
|
\ || getline(lnum) =~? virtuality . '\(process\|procedure\|block\|object\)')
|
||||||
\ && getline(lnum) !~? 'end[[:alpha:]]\+;$'
|
\ && getline(lnum) !~? 'end[[:alpha:]]\+;$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract a 'shiftwidth' after states
|
" Subtract a 'shiftwidth' after states
|
||||||
if getline(lnum) =~? '^\s*\(stop\|return\>\|nextstate\)'
|
if getline(lnum) =~? '^\s*\(stop\|return\>\|nextstate\)'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract a 'shiftwidth' on on end (uncompleted line)
|
" Subtract a 'shiftwidth' on on end (uncompleted line)
|
||||||
if getline(v:lnum) =~? '^\s*end\>'
|
if getline(v:lnum) =~? '^\s*end\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Put each alternatives where the corresponding decision was
|
" Put each alternatives where the corresponding decision was
|
||||||
|
|||||||
@@ -3,10 +3,12 @@
|
|||||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2016-06-27
|
" Latest Revision: 2017-05-02
|
||||||
" License: Vim (see :h license)
|
" License: Vim (see :h license)
|
||||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||||
" Changelog:
|
" Changelog:
|
||||||
|
" 20170502: - get rid of buffer-shiftwidth function
|
||||||
|
" 20160912: - preserve indentation of here-doc blocks
|
||||||
" 20160627: - detect heredocs correctly
|
" 20160627: - detect heredocs correctly
|
||||||
" 20160213: - detect function definition correctly
|
" 20160213: - detect function definition correctly
|
||||||
" 20160202: - use shiftwidth() function
|
" 20160202: - use shiftwidth() function
|
||||||
@@ -33,15 +35,11 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
function s:buffer_shiftwidth()
|
|
||||||
return shiftwidth()
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
let s:sh_indent_defaults = {
|
let s:sh_indent_defaults = {
|
||||||
\ 'default': function('s:buffer_shiftwidth'),
|
\ 'default': function('shiftwidth'),
|
||||||
\ 'continuation-line': function('s:buffer_shiftwidth'),
|
\ 'continuation-line': function('shiftwidth'),
|
||||||
\ 'case-labels': function('s:buffer_shiftwidth'),
|
\ 'case-labels': function('shiftwidth'),
|
||||||
\ 'case-statements': function('s:buffer_shiftwidth'),
|
\ 'case-statements': function('shiftwidth'),
|
||||||
\ 'case-breaks': 0 }
|
\ 'case-breaks': 0 }
|
||||||
|
|
||||||
function! s:indent_value(option)
|
function! s:indent_value(option)
|
||||||
@@ -110,6 +108,9 @@ function! GetShIndent()
|
|||||||
let ind -= s:indent_value('case-breaks')
|
let ind -= s:indent_value('case-breaks')
|
||||||
elseif s:is_here_doc(line)
|
elseif s:is_here_doc(line)
|
||||||
let ind = 0
|
let ind = 0
|
||||||
|
" statements, executed within a here document. Keep the current indent
|
||||||
|
elseif match(map(synstack(v:lnum, 1), 'synIDattr(v:val, "name")'), '\c\mheredoc') > -1
|
||||||
|
return indent(v:lnum)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
@@ -115,9 +115,9 @@ function! GetSMLIndent()
|
|||||||
|
|
||||||
" Return double 'shiftwidth' after lines matching:
|
" Return double 'shiftwidth' after lines matching:
|
||||||
if lline =~ '^\s*|.*=>\s*$'
|
if lline =~ '^\s*|.*=>\s*$'
|
||||||
return ind + &sw + &sw
|
return ind + 2 *shiftwidth()
|
||||||
elseif lline =~ '^\s*val\>.*=\s*$'
|
elseif lline =~ '^\s*val\>.*=\s*$'
|
||||||
return ind + &sw
|
return ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let line = getline(v:lnum)
|
let line = getline(v:lnum)
|
||||||
@@ -157,7 +157,7 @@ function! GetSMLIndent()
|
|||||||
if lastModule == -1
|
if lastModule == -1
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
return lastModule + &sw
|
return lastModule + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Indent lines starting with '|' from matching 'case', 'handle'
|
" Indent lines starting with '|' from matching 'case', 'handle'
|
||||||
@@ -172,7 +172,7 @@ function! GetSMLIndent()
|
|||||||
if switchLine =~ '\<case\>'
|
if switchLine =~ '\<case\>'
|
||||||
return col(".") + 2
|
return col(".") + 2
|
||||||
elseif switchLine =~ '\<handle\>'
|
elseif switchLine =~ '\<handle\>'
|
||||||
return switchLineIndent + &sw
|
return switchLineIndent + shiftwidth()
|
||||||
elseif switchLine =~ '\<datatype\>'
|
elseif switchLine =~ '\<datatype\>'
|
||||||
call search('=')
|
call search('=')
|
||||||
return col(".") - 1
|
return col(".") - 1
|
||||||
@@ -184,7 +184,7 @@ function! GetSMLIndent()
|
|||||||
" Indent if last line ends with 'sig', 'struct', 'let', 'then', 'else',
|
" Indent if last line ends with 'sig', 'struct', 'let', 'then', 'else',
|
||||||
" 'in'
|
" 'in'
|
||||||
elseif lline =~ '\<\(sig\|struct\|let\|in\|then\|else\)\s*$'
|
elseif lline =~ '\<\(sig\|struct\|let\|in\|then\|else\)\s*$'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
|
|
||||||
" Indent if last line ends with 'of', align from 'case'
|
" Indent if last line ends with 'of', align from 'case'
|
||||||
elseif lline =~ '\<\(of\)\s*$'
|
elseif lline =~ '\<\(of\)\s*$'
|
||||||
@@ -199,14 +199,14 @@ function! GetSMLIndent()
|
|||||||
|
|
||||||
" Indent if last line starts with 'fun', 'case', 'fn'
|
" Indent if last line starts with 'fun', 'case', 'fn'
|
||||||
elseif lline =~ '^\s*\(fun\|fn\|case\)\>'
|
elseif lline =~ '^\s*\(fun\|fn\|case\)\>'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Don't indent 'let' if last line started with 'fun', 'fn'
|
" Don't indent 'let' if last line started with 'fun', 'fn'
|
||||||
if line =~ '^\s*let\>'
|
if line =~ '^\s*let\>'
|
||||||
if lline =~ '^\s*\(fun\|fn\)'
|
if lline =~ '^\s*\(fun\|fn\)'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: SQL
|
" Language: SQL
|
||||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||||
" Last Change: 2012 Dec 06
|
" Last Change: 2017 Jun 13
|
||||||
" Version: 3.0
|
" Version: 3.0
|
||||||
" Download: http://vim.sourceforge.net/script.php?script_id=495
|
" Download: http://vim.sourceforge.net/script.php?script_id=495
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ function! s:CheckToIgnoreRightParan( prev_lnum, num_levels )
|
|||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
" Fallback - just move back one
|
" Fallback - just move back one
|
||||||
" return a:prev_indent - &sw
|
" return a:prev_indent - shiftwidth()
|
||||||
return ignore_paran
|
return ignore_paran
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -166,7 +166,7 @@ function! s:GetStmtStarterIndent( keyword, curr_lnum )
|
|||||||
let lnum = a:curr_lnum
|
let lnum = a:curr_lnum
|
||||||
|
|
||||||
" Default - reduce indent by 1
|
" Default - reduce indent by 1
|
||||||
let ind = indent(a:curr_lnum) - &sw
|
let ind = indent(a:curr_lnum) - shiftwidth()
|
||||||
|
|
||||||
if a:keyword =~? 'end'
|
if a:keyword =~? 'end'
|
||||||
exec 'normal! ^'
|
exec 'normal! ^'
|
||||||
@@ -230,7 +230,7 @@ function! s:ModuloIndent(ind)
|
|||||||
let ind = a:ind
|
let ind = a:ind
|
||||||
|
|
||||||
if ind > 0
|
if ind > 0
|
||||||
let modulo = ind % &shiftwidth
|
let modulo = ind % shiftwidth()
|
||||||
|
|
||||||
if modulo > 0
|
if modulo > 0
|
||||||
let ind = ind - modulo
|
let ind = ind - modulo
|
||||||
@@ -291,7 +291,7 @@ function! GetSQLIndent()
|
|||||||
" where END IF, END, should decrease the indent.
|
" where END IF, END, should decrease the indent.
|
||||||
if prevline =~? s:SQLBlockStart
|
if prevline =~? s:SQLBlockStart
|
||||||
" Move indent in
|
" Move indent in
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
" echom 'prevl - SQLBlockStart - indent ' . ind . ' line: ' . prevline
|
" echom 'prevl - SQLBlockStart - indent ' . ind . ' line: ' . prevline
|
||||||
elseif prevline =~ '[()]'
|
elseif prevline =~ '[()]'
|
||||||
if prevline =~ '('
|
if prevline =~ '('
|
||||||
@@ -308,7 +308,7 @@ function! GetSQLIndent()
|
|||||||
if num_unmatched_left > 0
|
if num_unmatched_left > 0
|
||||||
" There is a open left paranethesis
|
" There is a open left paranethesis
|
||||||
" increase indent
|
" increase indent
|
||||||
let ind = ind + ( &sw * num_unmatched_left )
|
let ind = ind + ( shiftwidth() * num_unmatched_left )
|
||||||
elseif num_unmatched_right > 0
|
elseif num_unmatched_right > 0
|
||||||
" if it is an unbalanced paranethesis only unindent if
|
" if it is an unbalanced paranethesis only unindent if
|
||||||
" it was part of a command (ie create table(..) )
|
" it was part of a command (ie create table(..) )
|
||||||
@@ -323,7 +323,7 @@ function! GetSQLIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if (num_unmatched_right - ignore) > 0
|
if (num_unmatched_right - ignore) > 0
|
||||||
let ind = ind - ( &sw * (num_unmatched_right - ignore) )
|
let ind = ind - ( shiftwidth() * (num_unmatched_right - ignore) )
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
@@ -339,12 +339,12 @@ function! GetSQLIndent()
|
|||||||
if line =~? '^\s*els'
|
if line =~? '^\s*els'
|
||||||
" Any line when you type else will automatically back up one
|
" Any line when you type else will automatically back up one
|
||||||
" ident level (ie else, elseif, elsif)
|
" ident level (ie else, elseif, elsif)
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
" echom 'curr - else - indent ' . ind
|
" echom 'curr - else - indent ' . ind
|
||||||
elseif line =~? '^\s*end\>'
|
elseif line =~? '^\s*end\>'
|
||||||
let ind = s:GetStmtStarterIndent('end', v:lnum)
|
let ind = s:GetStmtStarterIndent('end', v:lnum)
|
||||||
" General case for end
|
" General case for end
|
||||||
" let ind = ind - &sw
|
" let ind = ind - shiftwidth()
|
||||||
" echom 'curr - end - indent ' . ind
|
" echom 'curr - end - indent ' . ind
|
||||||
elseif line =~? '^\s*when\>'
|
elseif line =~? '^\s*when\>'
|
||||||
let ind = s:GetStmtStarterIndent('when', v:lnum)
|
let ind = s:GetStmtStarterIndent('when', v:lnum)
|
||||||
@@ -352,7 +352,7 @@ function! GetSQLIndent()
|
|||||||
" clause, do not change the indent level, since these
|
" clause, do not change the indent level, since these
|
||||||
" statements do not have a corresponding END statement.
|
" statements do not have a corresponding END statement.
|
||||||
" if stmt_starter =~? 'case'
|
" if stmt_starter =~? 'case'
|
||||||
" let ind = ind - &sw
|
" let ind = ind - shiftwidth()
|
||||||
" endif
|
" endif
|
||||||
" elseif line =~ '^\s*)\s*;\?\s*$'
|
" elseif line =~ '^\s*)\s*;\?\s*$'
|
||||||
" elseif line =~ '^\s*)'
|
" elseif line =~ '^\s*)'
|
||||||
@@ -371,14 +371,14 @@ function! GetSQLIndent()
|
|||||||
" let num_unmatched_right = s:CountUnbalancedParan( line, ')' )
|
" let num_unmatched_right = s:CountUnbalancedParan( line, ')' )
|
||||||
" if num_unmatched_right > 0
|
" if num_unmatched_right > 0
|
||||||
" elseif strpart( line, strlen(line)-1, 1 ) =~ ')'
|
" elseif strpart( line, strlen(line)-1, 1 ) =~ ')'
|
||||||
" let ind = ind - &sw
|
" let ind = ind - shiftwidth()
|
||||||
if line =~ '^\s*)'
|
if line =~ '^\s*)'
|
||||||
" let ignore = ignore + 1
|
" let ignore = ignore + 1
|
||||||
" echom 'curr - begins ) unbalanced ignore: ' . ignore
|
" echom 'curr - begins ) unbalanced ignore: ' . ignore
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (num_unmatched_right - ignore) > 0
|
if (num_unmatched_right - ignore) > 0
|
||||||
let ind = ind - ( &sw * (num_unmatched_right - ignore) )
|
let ind = ind - ( shiftwidth() * (num_unmatched_right - ignore) )
|
||||||
endif
|
endif
|
||||||
" endif
|
" endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ function SystemVerilogIndent()
|
|||||||
if exists('b:systemverilog_indent_width')
|
if exists('b:systemverilog_indent_width')
|
||||||
let offset = b:systemverilog_indent_width
|
let offset = b:systemverilog_indent_width
|
||||||
else
|
else
|
||||||
let offset = &sw
|
let offset = shiftwidth()
|
||||||
endif
|
endif
|
||||||
if exists('b:systemverilog_indent_modules')
|
if exists('b:systemverilog_indent_modules')
|
||||||
let indent_modules = offset
|
let indent_modules = offset
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Based on Tera Term Version 4.92
|
" Based on Tera Term Version 4.92
|
||||||
" Maintainer: Ken Takata
|
" Maintainer: Ken Takata
|
||||||
" URL: https://github.com/k-takata/vim-teraterm
|
" URL: https://github.com/k-takata/vim-teraterm
|
||||||
" Last Change: 2016 Aug 17
|
" Last Change: 2017 Jun 13
|
||||||
" Filenames: *.ttl
|
" Filenames: *.ttl
|
||||||
" License: VIM License
|
" License: VIM License
|
||||||
|
|
||||||
@@ -22,16 +22,6 @@ if exists("*GetTeraTermIndent")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" The shiftwidth() function is relatively new.
|
|
||||||
" Don't require it to exist.
|
|
||||||
if exists('*shiftwidth')
|
|
||||||
let s:sw = function('shiftwidth')
|
|
||||||
else
|
|
||||||
function s:sw() abort
|
|
||||||
return &shiftwidth
|
|
||||||
endfunction
|
|
||||||
endif
|
|
||||||
|
|
||||||
function! GetTeraTermIndent(lnum)
|
function! GetTeraTermIndent(lnum)
|
||||||
let l:prevlnum = prevnonblank(a:lnum-1)
|
let l:prevlnum = prevnonblank(a:lnum-1)
|
||||||
if l:prevlnum == 0
|
if l:prevlnum == 0
|
||||||
@@ -48,15 +38,15 @@ function! GetTeraTermIndent(lnum)
|
|||||||
|
|
||||||
if l:prevl =~ '^\s*if\>.*\<then\>'
|
if l:prevl =~ '^\s*if\>.*\<then\>'
|
||||||
" previous line opened a block
|
" previous line opened a block
|
||||||
let l:ind += s:sw()
|
let l:ind += shiftwidth()
|
||||||
endif
|
endif
|
||||||
if l:prevl =~ '^\s*\%(elseif\|else\|do\|until\|while\|for\)\>'
|
if l:prevl =~ '^\s*\%(elseif\|else\|do\|until\|while\|for\)\>'
|
||||||
" previous line opened a block
|
" previous line opened a block
|
||||||
let l:ind += s:sw()
|
let l:ind += shiftwidth()
|
||||||
endif
|
endif
|
||||||
if l:thisl =~ '^\s*\%(elseif\|else\|endif\|enduntil\|endwhile\|loop\|next\)\>'
|
if l:thisl =~ '^\s*\%(elseif\|else\|endif\|enduntil\|endwhile\|loop\|next\)\>'
|
||||||
" this line closed a block
|
" this line closed a block
|
||||||
let l:ind -= s:sw()
|
let l:ind -= shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return l:ind
|
return l:ind
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: LaTeX
|
" Language: LaTeX
|
||||||
" Maintainer: YiChao Zhou <broken.zhou AT gmail.com>
|
" Maintainer: Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" Created: Sat, 16 Feb 2002 16:50:19 +0100
|
" Created: Sat, 16 Feb 2002 16:50:19 +0100
|
||||||
" Version: 0.9.2
|
" Version: 0.9.4
|
||||||
" Please email me if you found something I can do. Comments, bug report and
|
" Please email me if you found something I can do. Comments, bug report and
|
||||||
" feature request are welcome.
|
" feature request are welcome.
|
||||||
|
|
||||||
@@ -15,49 +15,53 @@
|
|||||||
" 2005/06/15, Moshe Kaminsky <kaminsky AT math.huji.ac.il>
|
" 2005/06/15, Moshe Kaminsky <kaminsky AT math.huji.ac.il>
|
||||||
" (*) New variables:
|
" (*) New variables:
|
||||||
" g:tex_items, g:tex_itemize_env, g:tex_noindent_env
|
" g:tex_items, g:tex_itemize_env, g:tex_noindent_env
|
||||||
" 2011/3/6, by Zhou YiChao <broken.zhou AT gmail.com>
|
" 2011/3/6, by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Don't change indentation of lines starting with '%'
|
" (*) Don't change indentation of lines starting with '%'
|
||||||
" I don't see any code with '%' and it doesn't work properly
|
" I don't see any code with '%' and it doesn't work properly
|
||||||
" so I add some code.
|
" so I add some code.
|
||||||
" (*) New features: Add smartindent-like indent for "{}" and "[]".
|
" (*) New features: Add smartindent-like indent for "{}" and "[]".
|
||||||
" (*) New variables: g:tex_indent_brace
|
" (*) New variables: g:tex_indent_brace
|
||||||
" 2011/9/25, by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2011/9/25, by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Bug fix: smartindent-like indent for "[]"
|
" (*) Bug fix: smartindent-like indent for "[]"
|
||||||
" (*) New features: Align with "&".
|
" (*) New features: Align with "&".
|
||||||
" (*) New variable: g:tex_indent_and.
|
" (*) New variable: g:tex_indent_and.
|
||||||
" 2011/10/23 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2011/10/23 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Bug fix: improve the smartindent-like indent for "{}" and
|
" (*) Bug fix: improve the smartindent-like indent for "{}" and
|
||||||
" "[]".
|
" "[]".
|
||||||
" 2012/02/27 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2012/02/27 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Bug fix: support default folding marker.
|
" (*) Bug fix: support default folding marker.
|
||||||
" (*) Indent with "&" is not very handy. Make it not enable by
|
" (*) Indent with "&" is not very handy. Make it not enable by
|
||||||
" default.
|
" default.
|
||||||
" 2012/03/06 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2012/03/06 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Modify "&" behavior and make it default again. Now "&"
|
" (*) Modify "&" behavior and make it default again. Now "&"
|
||||||
" won't align when there are more then one "&" in the previous
|
" won't align when there are more then one "&" in the previous
|
||||||
" line.
|
" line.
|
||||||
" (*) Add indent "\left(" and "\right)"
|
" (*) Add indent "\left(" and "\right)"
|
||||||
" (*) Trust user when in "verbatim" and "lstlisting"
|
" (*) Trust user when in "verbatim" and "lstlisting"
|
||||||
" 2012/03/11 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2012/03/11 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Modify "&" so that only indent when current line start with
|
" (*) Modify "&" so that only indent when current line start with
|
||||||
" "&".
|
" "&".
|
||||||
" 2012/03/12 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2012/03/12 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Modify indentkeys.
|
" (*) Modify indentkeys.
|
||||||
" 2012/03/18 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2012/03/18 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Add &cpo
|
" (*) Add &cpo
|
||||||
" 2013/05/02 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2013/05/02 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Fix problem about GetTeXIndent checker. Thank Albert Netymk
|
" (*) Fix problem about GetTeXIndent checker. Thank Albert Netymk
|
||||||
" for reporting this.
|
" for reporting this.
|
||||||
" 2014/06/23 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2014/06/23 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Remove the feature g:tex_indent_and because it is buggy.
|
" (*) Remove the feature g:tex_indent_and because it is buggy.
|
||||||
" (*) If there is not any obvious indentation hints, we do not
|
" (*) If there is not any obvious indentation hints, we do not
|
||||||
" alert our user's current indentation.
|
" alert our user's current indentation.
|
||||||
" (*) g:tex_indent_brace now only works if the open brace is the
|
" (*) g:tex_indent_brace now only works if the open brace is the
|
||||||
" last character of that line.
|
" last character of that line.
|
||||||
" 2014/08/03 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2014/08/03 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Indent current line if last line has larger indentation
|
" (*) Indent current line if last line has larger indentation
|
||||||
" 2014/08/09 by Zhou Yichao <broken.zhou AT gmail.com>
|
" 2016/11/08 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
" (*) Add missing return value for s:GetEndIndentation(...)
|
" (*) Fix problems for \[ and \]. Thanks Bruno for reporting.
|
||||||
|
" 2017/04/30 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||||
|
" (*) Fix a bug between g:tex_noindent_env and g:tex_indent_items
|
||||||
|
" Now g:tex_noindent_env='document\|verbatim\|itemize' (Emacs
|
||||||
|
" style) is supported. Thanks Miles Wheeler for reporting.
|
||||||
"
|
"
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
@@ -81,44 +85,44 @@
|
|||||||
" % Example 2
|
" % Example 2
|
||||||
" \tikzexternalize[
|
" \tikzexternalize[
|
||||||
" prefix=tikz]
|
" prefix=tikz]
|
||||||
"
|
"
|
||||||
" * g:tex_indent_items
|
" * g:tex_indent_items
|
||||||
"
|
"
|
||||||
" If this variable is set, item-environments are indented like Emacs does
|
" If this variable is set, item-environments are indented like Emacs does
|
||||||
" it, i.e., continuation lines are indented with a shiftwidth.
|
" it, i.e., continuation lines are indented with a shiftwidth.
|
||||||
"
|
"
|
||||||
" NOTE: I've already set the variable below; delete the corresponding line
|
" NOTE: I've already set the variable below; delete the corresponding line
|
||||||
" if you don't like this behaviour.
|
" if you don't like this behaviour.
|
||||||
"
|
"
|
||||||
" Per default, it is unset.
|
" Per default, it is unset.
|
||||||
"
|
"
|
||||||
" set unset
|
" set unset
|
||||||
" ----------------------------------------------------------------
|
" ----------------------------------------------------------------
|
||||||
" \begin{itemize} \begin{itemize}
|
" \begin{itemize} \begin{itemize}
|
||||||
" \item blablabla \item blablabla
|
" \item blablabla \item blablabla
|
||||||
" bla bla bla bla bla bla
|
" bla bla bla bla bla bla
|
||||||
" \item blablabla \item blablabla
|
" \item blablabla \item blablabla
|
||||||
" bla bla bla bla bla bla
|
" bla bla bla bla bla bla
|
||||||
" \end{itemize} \end{itemize}
|
" \end{itemize} \end{itemize}
|
||||||
"
|
"
|
||||||
"
|
"
|
||||||
" * g:tex_items
|
" * g:tex_items
|
||||||
"
|
"
|
||||||
" A list of tokens to be considered as commands for the beginning of an item
|
" A list of tokens to be considered as commands for the beginning of an item
|
||||||
" command. The tokens should be separated with '\|'. The initial '\' should
|
" command. The tokens should be separated with '\|'. The initial '\' should
|
||||||
" be escaped. The default is '\\bibitem\|\\item'.
|
" be escaped. The default is '\\bibitem\|\\item'.
|
||||||
"
|
"
|
||||||
" * g:tex_itemize_env
|
" * g:tex_itemize_env
|
||||||
"
|
"
|
||||||
" A list of environment names, separated with '\|', where the items (item
|
" A list of environment names, separated with '\|', where the items (item
|
||||||
" commands matching g:tex_items) may appear. The default is
|
" commands matching g:tex_items) may appear. The default is
|
||||||
" 'itemize\|description\|enumerate\|thebibliography'.
|
" 'itemize\|description\|enumerate\|thebibliography'.
|
||||||
"
|
"
|
||||||
" * g:tex_noindent_env
|
" * g:tex_noindent_env
|
||||||
"
|
"
|
||||||
" A list of environment names. separated with '\|', where no indentation is
|
" A list of environment names. separated with '\|', where no indentation is
|
||||||
" required. The default is 'document\|verbatim'.
|
" required. The default is 'document\|verbatim'.
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
" Only define the function once
|
" Only define the function once
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
@@ -146,7 +150,7 @@ if g:tex_indent_items
|
|||||||
let g:tex_itemize_env = 'itemize\|description\|enumerate\|thebibliography'
|
let g:tex_itemize_env = 'itemize\|description\|enumerate\|thebibliography'
|
||||||
endif
|
endif
|
||||||
if !exists('g:tex_items')
|
if !exists('g:tex_items')
|
||||||
let g:tex_items = '\\bibitem\|\\item'
|
let g:tex_items = '\\bibitem\|\\item'
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
let g:tex_items = ''
|
let g:tex_items = ''
|
||||||
@@ -177,7 +181,7 @@ function! GetTeXIndent() " {{{
|
|||||||
|
|
||||||
" At the start of the file use zero indent.
|
" At the start of the file use zero indent.
|
||||||
if lnum == 0
|
if lnum == 0
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let line = substitute(getline(lnum), '\s*%.*', '','g') " last line
|
let line = substitute(getline(lnum), '\s*%.*', '','g') " last line
|
||||||
@@ -191,9 +195,9 @@ function! GetTeXIndent() " {{{
|
|||||||
return indent(v:lnum)
|
return indent(v:lnum)
|
||||||
end
|
end
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if lnum == 0
|
if lnum == 0
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let ind = indent(lnum)
|
let ind = indent(lnum)
|
||||||
@@ -206,17 +210,19 @@ function! GetTeXIndent() " {{{
|
|||||||
|
|
||||||
" Add a 'shiftwidth' after beginning of environments.
|
" Add a 'shiftwidth' after beginning of environments.
|
||||||
" Don't add it for \begin{document} and \begin{verbatim}
|
" Don't add it for \begin{document} and \begin{verbatim}
|
||||||
""if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim'
|
" if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim'
|
||||||
" LH modification : \begin does not always start a line
|
" LH modification : \begin does not always start a line
|
||||||
" ZYC modification : \end after \begin won't cause wrong indent anymore
|
" ZYC modification : \end after \begin won't cause wrong indent anymore
|
||||||
if line =~ '\\begin{.*}' && line !~ g:tex_noindent_env
|
if line =~ '\\begin{.*}'
|
||||||
let ind = ind + &sw
|
if line !~ g:tex_noindent_env
|
||||||
let stay = 0
|
let ind = ind + shiftwidth()
|
||||||
|
let stay = 0
|
||||||
|
endif
|
||||||
|
|
||||||
if g:tex_indent_items
|
if g:tex_indent_items
|
||||||
" Add another sw for item-environments
|
" Add another sw for item-environments
|
||||||
if line =~ g:tex_itemize_env
|
if line =~ g:tex_itemize_env
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
let stay = 0
|
let stay = 0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -235,39 +241,37 @@ function! GetTeXIndent() " {{{
|
|||||||
if g:tex_indent_items
|
if g:tex_indent_items
|
||||||
" Remove another sw for item-environments
|
" Remove another sw for item-environments
|
||||||
if cline =~ g:tex_itemize_env
|
if cline =~ g:tex_itemize_env
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
let stay = 0
|
let stay = 0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
let stay = 0
|
let stay = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if g:tex_indent_brace
|
if g:tex_indent_brace
|
||||||
let char = line[strlen(line)-1]
|
if line =~ '[[{]$'
|
||||||
if char == '[' || char == '{'
|
let ind += shiftwidth()
|
||||||
let ind += &sw
|
|
||||||
let stay = 0
|
let stay = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let cind = indent(v:lnum)
|
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, indent(v:lnum))
|
||||||
let char = cline[cind]
|
let ind -= shiftwidth()
|
||||||
if (char == ']' || char == '}') &&
|
|
||||||
\ s:CheckPairedIsLastCharacter(v:lnum, cind)
|
|
||||||
let ind -= &sw
|
|
||||||
let stay = 0
|
let stay = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
for i in range(indent(lnum)+1, strlen(line)-1)
|
if line !~ '^\s*\\\?[\]}]'
|
||||||
let char = line[i]
|
for i in range(indent(lnum)+1, strlen(line)-1)
|
||||||
if char == ']' || char == '}'
|
let char = line[i]
|
||||||
if s:CheckPairedIsLastCharacter(lnum, i)
|
if char == ']' || char == '}'
|
||||||
let ind -= &sw
|
if s:CheckPairedIsLastCharacter(lnum, i)
|
||||||
let stay = 0
|
let ind -= shiftwidth()
|
||||||
|
let stay = 0
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endfor
|
||||||
endfor
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Special treatment for 'item'
|
" Special treatment for 'item'
|
||||||
@@ -276,12 +280,12 @@ function! GetTeXIndent() " {{{
|
|||||||
if g:tex_indent_items
|
if g:tex_indent_items
|
||||||
" '\item' or '\bibitem' itself:
|
" '\item' or '\bibitem' itself:
|
||||||
if cline =~ g:tex_items
|
if cline =~ g:tex_items
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
let stay = 0
|
let stay = 0
|
||||||
endif
|
endif
|
||||||
" lines following to '\item' are intented once again:
|
" lines following to '\item' are intented once again:
|
||||||
if line =~ g:tex_items
|
if line =~ g:tex_items
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
let stay = 0
|
let stay = 0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -309,13 +313,13 @@ function! s:GetLastBeginIndentation(lnum) " {{{
|
|||||||
let matchend -= 1
|
let matchend -= 1
|
||||||
endif
|
endif
|
||||||
if matchend == 0
|
if matchend == 0
|
||||||
if line =~ g:tex_itemize_env
|
|
||||||
return indent(lnum) + 2 * &sw
|
|
||||||
endif
|
|
||||||
if line =~ g:tex_noindent_env
|
if line =~ g:tex_noindent_env
|
||||||
return indent(lnum)
|
return indent(lnum)
|
||||||
endif
|
endif
|
||||||
return indent(lnum) + &sw
|
if line =~ g:tex_itemize_env
|
||||||
|
return indent(lnum) + 2 * shiftwidth()
|
||||||
|
endif
|
||||||
|
return indent(lnum) + shiftwidth()
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
return -1
|
return -1
|
||||||
@@ -343,17 +347,20 @@ function! s:GetEndIndentation(lnum) " {{{
|
|||||||
let min_indent = min([min_indent, indent(lnum)])
|
let min_indent = min([min_indent, indent(lnum)])
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
return min_indent - &sw
|
return min_indent - shiftwidth()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Most of the code is from matchparen.vim
|
" Most of the code is from matchparen.vim
|
||||||
function! s:CheckPairedIsLastCharacter(lnum, col) "{{{
|
function! s:CheckPairedIsLastCharacter(lnum, col) "{{{
|
||||||
" Get the character under the cursor and check if it's in 'matchpairs'.
|
|
||||||
let c_lnum = a:lnum
|
let c_lnum = a:lnum
|
||||||
let c_col = a:col+1
|
let c_col = a:col+1
|
||||||
|
|
||||||
|
let line = getline(c_lnum)
|
||||||
|
if line[c_col-1] == '\'
|
||||||
|
let c_col = c_col + 1
|
||||||
|
endif
|
||||||
|
let c = line[c_col-1]
|
||||||
|
|
||||||
let c = getline(c_lnum)[c_col-1]
|
|
||||||
let plist = split(&matchpairs, '.\zs[:,]')
|
let plist = split(&matchpairs, '.\zs[:,]')
|
||||||
let i = index(plist, c)
|
let i = index(plist, c)
|
||||||
if i < 0
|
if i < 0
|
||||||
|
|||||||
@@ -25,11 +25,11 @@ function GetTildeIndent(lnum)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if getline(v:lnum) =~ '^\s*\~\(endif\|else\|elseif\|end\)\>'
|
if getline(v:lnum) =~ '^\s*\~\(endif\|else\|elseif\|end\)\>'
|
||||||
return indent(v:lnum) - &sw
|
return indent(v:lnum) - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if getline(plnum) =~ '^\s*\~\(if\|foreach\|foreach_row\|xml_loop\|file_loop\|file_write\|file_append\|imap_loopsections\|imap_index\|imap_list\|ldap_search\|post_loopall\|post_loop\|file_loop\|sql_loop_num\|sql_dbmsselect\|search\|sql_loop\|post\|for\|function_define\|silent\|while\|setvalbig\|mail_create\|systempipe\|mail_send\|dual\|elseif\|else\)\>'
|
if getline(plnum) =~ '^\s*\~\(if\|foreach\|foreach_row\|xml_loop\|file_loop\|file_write\|file_append\|imap_loopsections\|imap_index\|imap_list\|ldap_search\|post_loopall\|post_loop\|file_loop\|sql_loop_num\|sql_dbmsselect\|search\|sql_loop\|post\|for\|function_define\|silent\|while\|setvalbig\|mail_create\|systempipe\|mail_send\|dual\|elseif\|else\)\>'
|
||||||
return indent(plnum) + &sw
|
return indent(plnum) + shiftwidth()
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -49,26 +49,26 @@ fun! VbGetIndent(lnum)
|
|||||||
|
|
||||||
" Add
|
" Add
|
||||||
if previous_line =~? '^\s*\<\(begin\|\%(\%(private\|public\|friend\)\s\+\)\=\%(function\|sub\|property\)\|select\|case\|default\|if\|else\|elseif\|do\|for\|while\|enum\|with\)\>'
|
if previous_line =~? '^\s*\<\(begin\|\%(\%(private\|public\|friend\)\s\+\)\=\%(function\|sub\|property\)\|select\|case\|default\|if\|else\|elseif\|do\|for\|while\|enum\|with\)\>'
|
||||||
let ind = ind + &sw
|
let ind = ind + shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Subtract
|
" Subtract
|
||||||
if this_line =~? '^\s*\<end\>\s\+\<select\>'
|
if this_line =~? '^\s*\<end\>\s\+\<select\>'
|
||||||
if previous_line !~? '^\s*\<select\>'
|
if previous_line !~? '^\s*\<select\>'
|
||||||
let ind = ind - 2 * &sw
|
let ind = ind - 2 * shiftwidth()
|
||||||
else
|
else
|
||||||
" this case is for an empty 'select' -- 'end select'
|
" this case is for an empty 'select' -- 'end select'
|
||||||
" (w/o any case statements) like:
|
" (w/o any case statements) like:
|
||||||
"
|
"
|
||||||
" select case readwrite
|
" select case readwrite
|
||||||
" end select
|
" end select
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
elseif this_line =~? '^\s*\<\(end\|else\|elseif\|until\|loop\|next\|wend\)\>'
|
elseif this_line =~? '^\s*\<\(end\|else\|elseif\|until\|loop\|next\|wend\)\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
elseif this_line =~? '^\s*\<\(case\|default\)\>'
|
elseif this_line =~? '^\s*\<\(case\|default\)\>'
|
||||||
if previous_line !~? '^\s*\<select\>'
|
if previous_line !~? '^\s*\<select\>'
|
||||||
let ind = ind - &sw
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user