diff options
59 files changed, 3077 insertions, 1722 deletions
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 2e3a47bd9..14605e80f 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 7.0aa. Last change: 2004 Jul 01 +*autocmd.txt* For Vim version 7.0aa. Last change: 2004 Aug 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -24,10 +24,10 @@ For a basic explanation, see section |40.3| in the user manual. ============================================================================== 1. Introduction *autocmd-intro* -You can specify commands to be executed automatically for when reading or -writing a file, when entering or leaving a buffer or window, and when exiting -Vim. For example, you can create an autocommand to set the 'cindent' option -for files matching *.c. You can also use autocommands to implement advanced +You can specify commands to be executed automatically when reading or writing +a file, when entering or leaving a buffer or window, and when exiting Vim. +For example, you can create an autocommand to set the 'cindent' option for +files matching *.c. You can also use autocommands to implement advanced features, such as editing compressed files (see |gzip-example|). The usual place to put autocommands is in your .vimrc or .exrc file. diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt index 4f56dfe2f..42fa8ba4e 100644 --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -1,4 +1,4 @@ -*editing.txt* For Vim version 7.0aa. Last change: 2004 Jul 04 +*editing.txt* For Vim version 7.0aa. Last change: 2004 Aug 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -29,16 +29,26 @@ Editing a file with Vim means: *current-file* As long as you don't write the buffer, the original file remains unchanged. If you start editing a file (read a file into the buffer), the file name is -remembered as the "current file name". +remembered as the "current file name". This is also known as the name of the +current buffer. *alternate-file* If there already was a current file name, then that one becomes the alternate -file name. All file names are remembered in the file list. When you enter a -file name, for editing (e.g., with ":e filename") or writing (e.g., with (:w -file name"), the file name is added to the list. You can use this list to -remember which files you edited and to quickly switch from one file to -another with the CTRL-^ command (e.g., to copy text). First type the number -of the file and then hit CTRL-^. {Vi: only one alternate file name} +file name. It can later be used with "#" on the command line |:_#|. However, +the alternate file name is not changed when |:keepalt| is used. + + *:keepalt* *:keepa* +:keepalt {cmd} Execute {cmd} while keeping the current alternate file + name. Note that commands invoked indirectly (e.g., + with a function) may still set the alternate file + name. {not in Vi} + +All file names are remembered in the file list. When you enter a file name, +for editing (e.g., with ":e filename") or writing (e.g., with (:w file name"), +the file name is added to the list. You can use this list to remember which +files you edited and to quickly switch from one file to another with the +CTRL-^ command (e.g., to copy text). First type the number of the file and +then hit CTRL-^. {Vi: only one alternate file name} CTRL-G or *CTRL-G* *:f* *:fi* *:file* :f[ile] Prints the current file name (as typed), the diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index c277ddea8..0b757f381 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0aa. Last change: 2004 Jul 25 +*eval.txt* For Vim version 7.0aa. Last change: 2004 Aug 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2231,8 +2231,9 @@ remote_read({serverid}) *remote_read()* < *remote_send()* *E241* remote_send({server}, {string} [, {idvar}]) - Send the {string} to {server}. The string is sent as - input keys and the function returns immediately. + Send the {string} to {server}. The string is sent as input + keys and the function returns immediately. At the Vim server + the keys are not mapped |:map|. If {idvar} is present, it is taken as the name of a variable and a {serverid} for later use with remote_read() is stored there. @@ -2558,6 +2559,7 @@ strridx({haystack}, {needle}) *strridx()* {haystack}. The search is done case-sensitive. For advanced searches use |match()|. If the {needle} does not occur in {haystack} it returns -1. + If the {needle} is empty the length of {haystack} is returned. See also |stridx()|. Examples: > :echo strridx("an angry armadillo", "an") 3 < diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index 21c48d3cd..a4cc593a2 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -1,4 +1,4 @@ -*filetype.txt* For Vim version 7.0aa. Last change: 2004 Jun 24 +*filetype.txt* For Vim version 7.0aa. Last change: 2004 Aug 31 VIM REFERENCE MANUAL by Bram Moolenaar @@ -82,6 +82,9 @@ You can disable it again with: > The filetype detection is not switched off then. But if you do switch off filetype detection, the indent files will not be loaded either. This actually loads the file "indoff.vim" in 'runtimepath'. +This disables auto-indenting for files you will open. It will keep working in +already opened files. Reset 'autoindent', 'cindent', 'smartindent' and/or +'indentexpr' to disable indenting in an opened file. *:filetype-off* To disable file type detection, use this command: > @@ -147,7 +150,7 @@ is used. The default value is set like this: > This means that the contents of compressed files are not inspected. *new-filetype* -If a file type that you want to use is not detected yet, there are three ways +If a file type that you want to use is not detected yet, there are four ways to add it. In any way, it's better not to modify the $VIMRUNTIME/filetype.vim file. It will be overwritten when installing a new version of Vim. @@ -155,7 +158,7 @@ A. If you want to overrule all default file type checks. This works by writing one file for each filetype. The disadvantage is that means there can be many files. The advantage is that you can simply drop this file in the right directory to make it work. - + *ftdetect* 1. Create your user runtime directory. You would normally use the first item of the 'runtimepath' option. Then create the directory "ftdetect" inside it. Example for Unix: > diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt index 882cd6a85..0d627daa6 100644 --- a/runtime/doc/if_perl.txt +++ b/runtime/doc/if_perl.txt @@ -1,4 +1,4 @@ -*if_perl.txt* For Vim version 7.0aa. Last change: 2004 May 01 +*if_perl.txt* For Vim version 7.0aa. Last change: 2004 Aug 30 VIM REFERENCE MANUAL by Sven Verdoolaege @@ -156,6 +156,8 @@ VIM::Buffers([{bn}...]) With no arguments, returns a list of all the buffers numbers {bn}, returns a list of the buffers matching {bn}, using the same rules as Vim's internal |bufname()| function. + WARNING: the list becomes invalid when |:bwipe| is + used. Using it anyway may crash Vim. *perl-Windows* VIM::Windows([{wn}...]) With no arguments, returns a list of all the windows @@ -163,6 +165,8 @@ VIM::Windows([{wn}...]) With no arguments, returns a list of all the windows in a scalar context. For a list of window numbers {wn}, returns a list of the windows with those numbers. + WARNING: the list becomes invalid when a window is + closed. Using it anyway may crash Vim. *perl-DoCommand* VIM::DoCommand({cmd}) Executes Ex command {cmd}. diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt index fd94d326a..5fc7b06fb 100644 --- a/runtime/doc/indent.txt +++ b/runtime/doc/indent.txt @@ -1,4 +1,4 @@ -*indent.txt* For Vim version 7.0aa. Last change: 2004 Jul 07 +*indent.txt* For Vim version 7.0aa. Last change: 2004 Sep 02 VIM REFERENCE MANUAL by Bram Moolenaar @@ -519,4 +519,15 @@ In addition, you can turn the verbose mode for debug issue: > Make sure to do ":set cmdheight=2" first to allow the display of the message. + +VIM *vim-indent* + +For indenting Vim scripts there is one variable that specifies the amount of +indent for a continuation line, a line that starts with a backslash: > + + :let g:vim_indent_cont = &sw * 3 + +Three times shiftwidth is the default value. + + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index 62044e5cd..4245b6348 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -1,4 +1,4 @@ -*message.txt* For Vim version 7.0aa. Last change: 2004 Jul 23 +*message.txt* For Vim version 7.0aa. Last change: 2004 Aug 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -412,6 +412,12 @@ abandon the buffer forcefully, e.g., with ":qa!". Careful, make sure you don't throw away changes you really want to keep. You might have forgotten about a buffer, especially when 'hidden' is set. +> + [No write since last change] + +This appears when executing a shell command while at least one buffer was +changed. To avoid the message reset the 'warn' option. + *E38* > Null argument diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index f94b52a4a..376bb6b43 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.0aa. Last change: 2004 Jul 24 +*options.txt* For Vim version 7.0aa. Last change: 2004 Aug 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -188,7 +188,7 @@ the value "ab", using "set guioptions-=ba" won't work, because the string "ba" doesn't appear. *:set_env* *expand-env* *expand-environment-var* -Environment variables in most string options will be expanded. If the +Environment variables in specific string options will be expanded. If the environment variable exists the '$' and the following environment variable name is replaced with its value. If it does not exist the '$' and the name are not modified. Any non-id character (not a letter, digit or '_') may @@ -2903,6 +2903,7 @@ A jump table for the options with a short description can be found at |Q_op|. BALTIC, CHINESEBIG5, DEFAULT, EASTEUROPE, GB2312, GREEK, HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS, SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC. + Normally you would use "cDEFAULT". Use a ':' to separate the options. - A '_' can be used in the place of a space, so you don't need to use @@ -5730,7 +5731,7 @@ A jump table for the options with a short description can be found at |Q_op|. Tags in unsorted tags files, and matches with different case will only be found in the retry. - If a tag file indicates that is is case-fold sorted, the second, + If a tag file indicates that it is case-fold sorted, the second, linear search can be avoided for the 'ignorecase' case. Use a value of '2' in the "!_TAG_FILE_SORTED" line for this. A tag file can be case-fold sorted with the -f switch to "sort" in most unices, as in diff --git a/runtime/doc/os_msdos.txt b/runtime/doc/os_msdos.txt index 01290e9ff..3c749f0eb 100644 --- a/runtime/doc/os_msdos.txt +++ b/runtime/doc/os_msdos.txt @@ -1,4 +1,4 @@ -*os_msdos.txt* For Vim version 7.0aa. Last change: 2001 Sep 03 +*os_msdos.txt* For Vim version 7.0aa. Last change: 2004 Aug 31 VIM REFERENCE MANUAL by Bram Moolenaar @@ -207,18 +207,24 @@ in such a way that it becomes too long may give unexpected results. 8. Symbolically linked files *msdos-linked-files* When using Vim to edit a symbolically linked file on a unix NFS file server, -you may run into problems. -When writing the file, Vim does not "write through" the symlink. Instead, it -deletes the symbolic link and creates a new file in its place. - On Unix, Vim is prepared for links (symbolic or hard). A backup copy of -the original file is made and then the original file is overwritten. This -assures that all properties of the file remain the same. On non-Unix systems, -the original file is renamed and a new file is written. Only the protection -bits are set like the original file. However, this doesn't work properly when +you may run into problems. When writing the file, Vim does not "write +through" the symlink. Instead, it deletes the symbolic link and creates a new +file in its place. + +On Unix, Vim is prepared for links (symbolic or hard). A backup copy of the +original file is made and then the original file is overwritten. This assures +that all properties of the file remain the same. On non-Unix systems, the +original file is renamed and a new file is written. Only the protection bits +are set like the original file. However, this doesn't work properly when working on an NFS-mounted file system where links and other things exist. The only way to fix this in the current version is not making a backup file, by ":set nobackup nowritebackup" |'writebackup'| +A similar problem occurs when mounting a Unix filesystem through Samba or a +similar system. When Vim creates a new file it will get the default user ID +for the mounted file system. This may be different from the original user ID. +To avoid this set the 'backupcopy' option to "yes". + ============================================================================== 9. Copy/paste in a dos box *msdos-copy-paste* diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt index 29d7096bf..6f9a541c2 100644 --- a/runtime/doc/os_win32.txt +++ b/runtime/doc/os_win32.txt @@ -1,4 +1,4 @@ -*os_win32.txt* For Vim version 7.0aa. Last change: 2004 May 01 +*os_win32.txt* For Vim version 7.0aa. Last change: 2004 Aug 31 VIM REFERENCE MANUAL by George Reilly @@ -184,8 +184,9 @@ A. There are no good reasons to run the 16-bit DOS version on NT. The Win32 runs on top of an 80x86 emulator. Q. How do I change the font? -A. In the GUI version, you can use the 'guifont' option. - In the console version, you need to set the font of the console itself. +A. In the GUI version, you can use the 'guifont' option. Example: > + :set guifont=Lucida_Console:h15:cDEFAULT +< In the console version, you need to set the font of the console itself. You cannot do this from within Vim. Q. When I change the size of the console window with ':set lines=xx' or @@ -249,6 +250,16 @@ A. On Unix, Vim is prepared for links (symbolic or hard). A backup copy of things exist. The only way to fix this in the current version is not making a backup file, by ":set nobackup nowritebackup" |'writebackup'| +Q. I'm using Vim to edit a file on a Unix file server through Samba. When I + write the file, the owner of the file is changed. Why? +A. When writing a file Vim renames the original file, this is a backup (in + case writing the file fails halfway). Then the file is written as a new + file. Samba then gives it the default owner for the file system, which may + differ from the original owner. + To avoid this set the 'backupcopy' option to "yes". Vim will then make a + copy of the file for the backup, and overwrite the original file. The + owner isn't changed then. + Q. How do I get to see the output of ":make" while it's running? A. Basically what you need is to put a tee program that will copy its input (the output from make) to both stdout and to the errorfile. You can find a diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index 005072f99..068d42bbc 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt For Vim version 6.2. Last change: Jul 26, 2004 +*pi_netrw.txt For Vim version 6.2. Last change: Jul 30, 2004 VIM REFERENCE MANUAL by Charles E. Campbell, Jr. @@ -16,7 +16,7 @@ 4. Transparent File Transfer...........................|netrw-transparent| 5. Ex Commands.........................................|netrw-ex| 6. Variables and Options...............................|netrw-var| -7. Remote Directory Browser............................|netrw-browse| +7. Directory Browser...................................|netrw-browse| 8. Debugging...........................................|netrw-debug| 9. History.............................................|netrw-history| 10. Credits.............................................|netrw-credits| @@ -62,31 +62,31 @@ in your <.vimrc> file: > scp: g:netrw_scp_cmd = "scp -q" sftp: g:netrw_sftp_cmd = "sftp" - READING + READING *netrw-read* *netrw-nread* :Nread ? give help - :Nread "machine:file" uses rcp - :Nread "machine file" uses ftp with <.netrc> - :Nread "machine id password file" uses ftp - :Nread "dav://machine[:port]/file" uses cadaver - :Nread "fetch://[user@]machine/file" uses fetch - :Nread "ftp://[user@]machine[[:#]port]/file" uses ftp autodetects <.netrc> - :Nread "http://[user@]machine/file" uses http uses wget - :Nread "rcp://[user@]machine/file" uses rcp - :Nread "rsync://[user@]machine[:port]/file" uses rsync - :Nread "scp://[user@]machine[[:#]port]/file" uses scp - :Nread "sftp://[user@]machine/file" uses sftp - - WRITING + :Nread "machine:path" uses rcp + :Nread "machine path" uses ftp with <.netrc> + :Nread "machine id password path" uses ftp + :Nread "dav://machine[:port]/path" uses cadaver + :Nread "fetch://[user@]machine/path" uses fetch + :Nread "ftp://[user@]machine[[:#]port]/path" uses ftp autodetects <.netrc> + :Nread "http://[user@]machine/path" uses http uses wget + :Nread "rcp://[user@]machine/path" uses rcp + :Nread "rsync://[user@]machine[:port]/path" uses rsync + :Nread "scp://[user@]machine[[:#]port]/path" uses scp + :Nread "sftp://[user@]machine/path" uses sftp + + WRITING *netrw-write* *netrw-nwrite* :Nwrite ? give help - :Nwrite "machine:file" uses rcp - :Nwrite "machine file" uses ftp with <.netrc> - :Nwrite "machine id password file" uses ftp - :Nwrite "dav://machine[:port]/file" uses cadaver - :Nwrite "ftp://[user@]machine[[:#]port]/file" uses ftp autodetects <.netrc> - :Nwrite "rcp://[user@]machine/file" uses rcp - :Nwrite "rsync://[user@]machine[:port]/file" uses rsync - :Nwrite "scp://[user@]machine[[:#]port]/file" uses scp - :Nwrite "sftp://[user@]machine/file" uses sftp + :Nwrite "machine:path" uses rcp + :Nwrite "machine path" uses ftp with <.netrc> + :Nwrite "machine id password path" uses ftp + :Nwrite "dav://machine[:port]/path" uses cadaver + :Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp autodetects <.netrc> + :Nwrite "rcp://[user@]machine/path" uses rcp + :Nwrite "rsync://[user@]machine[:port]/path" uses rsync + :Nwrite "scp://[user@]machine[[:#]port]/path" uses scp + :Nwrite "sftp://[user@]machine/path" uses sftp http: not supported! DIRECTORY LISTING @@ -103,7 +103,7 @@ in your <.vimrc> file: > :call NetUserPass("uid") -- prompts for password :call NetUserPass("uid","password") -- sets global uid and password - VARIABLES + VARIABLES *netrw-variables* b:netrw_lastfile last file Network-read/written retained on a per-buffer basis (supports plain :Nw ) s:netrw_line during Nw/NetWrite, holds current line number @@ -126,6 +126,21 @@ in your <.vimrc> file: > g:netrw_use_nt_rcp=0 don't use the rcp of WinNT, Win2000 and WinXP (default) =1 use the rcp of WinNT,... in binary mode + PATHS *netrw-path* + + Paths to files are generally user-directory relative for most protocols. + It is possible that some protocol will make paths relative to some + associated directory, however. + + example: vim scp://user@host/somefile + example: vim scp://user@host/subdir1/subdir2/somefile + + where "somefile" is the "user"'s home directory. If you wish to get a + file using root-relative paths, use the full path: + + example: vim scp://user@host//somefile + example: vim scp://user@host//subdir1/subdir2/somefile + ============================================================================== 2. Network-Oriented File Transfer *netrw-xfer* @@ -499,21 +514,26 @@ from <netrw.vim> itself: > ============================================================================== -7. Remote Directory Browser *netrw-browse* *netrw-dir* *netrw-list* *netrw-help* +7. Directory Browser *netrw-browse* *netrw-dir* *netrw-list* *netrw-help* ?..........Help....................................|netrw-help| <cr>.......Browsing................................|netrw-cr| - <c-l>......Refreshing the Listing..................|netrw-c-l| <del>......Deleting Files or Directories...........|netrw-delete| -..........Going Up................................|netrw--| a..........Hiding Files or Directories.............|netrw-a| + b..........Bookmarking a Directory.................|netrw-b| + B..........Changing to a Bookmarked Directory......|netrw-B| + c..........Make Browsing Directory The Current Dir.|netrw-c| + d..........Make A New Directory....................|netrw-d| D..........Deleting Files or Directories...........|netrw-D| - \h.........Edit File/Directory Hiding List.........|netrw-h| + <c-h>......Edit File/Directory Hiding List.........|netrw-h| i..........Long Listing............................|netrw-i| - \m.........Make A New Directory....................|netrw-m| + <c-l>......Refreshing the Listing..................|netrw-ctrl-l| o..........Browsing with a Horizontal Split........|netrw-o| + q..........Listing Bookmarks.......................|netrw-q| r..........Reversing Sorting Order.................|netrw-r| R..........Renaming Files or Directories...........|netrw-R| s..........Selecting Sorting Style.................|netrw-s| + S..........Editing the Sorting Sequence............|netrw-S| v..........Browsing with a Vertical Split..........|netrw-v| x..........Customizing Browsing....................|netrw-x| @@ -525,14 +545,15 @@ QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds* ? Causes Netrw to issue help <cr> Netrw will enter the directory or read the file <del> Netrw will attempt to remove the file/directory - <c-l> Causes Netrw to refresh the directory listing + d Make a directory D Netrw will attempt to remove the file(s)/directory(ies) R Netrw will attempt to rename the file(s)/directory(ies) - Makes Netrw go up one directory a Show all of a directory (temporarily ignore g:netrw_list_hide) - \h Edit file hiding list + c Make current browsing directory the current directory + <c-h> Edit file hiding list i Toggles between long and short listing - \m Make a directory + <c-l> Causes Netrw to refresh the directory listing o Enter the file/directory under the cursor in a new browser window. A horizontal split is used. r Reverse sorting order @@ -543,49 +564,63 @@ QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds* < NETRW BROWSER VARIABLES *netrw-browse-var* > - --- ----------- - Var Explanation - --- ----------- - g:netrw_list_cmd supports listing - g:netrw_list_hide comma separated list of patterns for - hiding files - g:netrw_local_mkdir specify command for making a directory locally - g:netrw_local_rmdir remove directory command default: rmdir - g:netrw_local_rename rename file/directory command - unix-default: rm win32-default: ren - g:netrw_mkdir_cmd specify command for making a directory remotely - g:netrw_rm_cmd supports removing files - g:netrw_rmdir_cmd supports removing directories - g:netrw_rmf_cmd supports removing softlinks to directories - g:netrw_hide if true, the hiding list is used - g:netrw_sort_by sort by "name", "time", or "size" - g:netrw_sort_direction sorting direction: "normal" or "reverse" - g:netrw_sort_sequence when sorting by name, first sort by the - comma-separated pattern sequence - g:netrw_timefmt specify format string to strftime() default: %c - g:netrw_winsize specify initial size of new o/v windows + --- ----------- + Var Explanation + --- ----------- + g:netrw_ftp_browse_reject ftp can produce a number of errors + and warnings that can show up as + "directories" and "files" in the + listing. This pattern is used to + remove such embedded messages. + g:netrw_keepdir keep current directory immune from the + browsing directory. The browsing + directory is contained in b:netrw_curdir + g:netrw_list_cmd command for listing remote directories + g:netrw_list_hide comma separated list of patterns for + hiding files + g:netrw_local_mkdir command for making a local directory + g:netrw_local_rmdir remove directory command (rmdir) + g:netrw_local_rename rename file/directory command + unix-default: rm win32-default: ren + g:netrw_mkdir_cmd command for making a remote directory + g:netrw_rm_cmd command for removing files + g:netrw_rmdir_cmd command for removing directories + g:netrw_rmf_cmd command for removing softlinks + g:netrw_hide if true, the hiding list is used + g:netrw_sort_by sort by "name", "time", or "size" + g:netrw_sort_direction sorting direction: "normal" or "reverse" + g:netrw_sort_sequence when sorting by name, first sort by the + comma-separated pattern sequence + g:netrw_timefmt specify format string to strftime() (%c) + g:netrw_winsize specify initial size of new o/v windows < -INTRODUCTION TO REMOTE DIRECTORY BROWSING +INTRODUCTION TO DIRECTORY BROWSING + +Netrw supports the browsing of directories on the local system and on remote +hosts, including generating listing directories, entering directories, editing +files therein, deleting files/directories, making new directories, and moving +(renaming) files and directories. The Netrw browser generally implements the +previous explorer maps and commands for remote directories, although details +(such as pertinent global variable names) necessarily differ. -Netrw supports the browsing of directories on remote hosts, including -generating listing directories, entering directories, editing files therein, -deleting files/directories, and moving (renaming) files and directories. The -Netrw browser generally implements the file explorer methods but for remote -directories, although details (such as pertinent global variable names) -necessarily differ. +The Netrw remote file and directory browser handles two protocols: ssh and +ftp. The protocol in the url, if it is ftp, will cause netrw to use ftp +in its remote browsing. Any other protocol will be used for file transfers, +but otherwise the ssh protocol will be used to do remote directory browsing. To enter the netrw directory browser, simply attempt to read a "file" with a trailing slash and it will be interpreted as a request to list a directory: vim [protocol]://[user@]hostname/path/ -To get no-password directory listings, scp, ssh interaction, etc, see -|netrw-list-hack|. +If you'd like to avoid entering the password in for directory listings, scp, +ssh interaction, etc, see |netrw-list-hack|. -REFRESHING THE LISTING *netrw-c-l* +REFRESHING THE LISTING *netrw-ctrl-l* -To refresh the directory listing, press ctrl-l (<c-l>) or hit the <cr> -when atop the ./ directory entry in the listing. +To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or +hit the <cr> when atop the ./ directory entry in the listing. One may also +refresh a local directory by using ":e .". GOING UP *netrw--* @@ -598,10 +633,10 @@ listing operation. By default the command is: ssh HOSTNAME ls -FLa -where the HOSTNAME becomes the [user@]hostname as requested by the attempt -to read. Naturally, the user may override this command with whatever is -preferred. The NetList function which implements remote directory -browsing expects that directories will be flagged by a trailing slash. +where the HOSTNAME becomes the [user@]hostname as requested by the attempt to +read. Naturally, the user may override this command with whatever is +preferred. The NetList function which implements remote directory browsing +expects that directories will be flagged by a trailing slash. BROWSING *netrw-cr* @@ -619,11 +654,9 @@ directories or displays the filename, file size (in bytes), and the time and date of last modification for local directories. -MAKING A NEW DIRECTORY *netrw-m* +MAKING A NEW DIRECTORY *netrw-d* -Actually <Leader>m, where the <Leader> is, by default, the backslash. - -With the "<Leader>m" map one may make a new directory either remotely (which +With the "d" map one may make a new directory either remotely (which depends on the global variable g:netrw_mkdir_cmd) or locally (which depends on the global variable g:netrw_local_mkdir). Netrw will issue a request for the new directory's name. A bare <CR> at that point will abort the making of the @@ -675,6 +708,7 @@ value is: One may rename a block of files and directories by selecting them with the V (|linewise-visual|). + HIDING FILES OR DIRECTORIES *g:netrw-a* *g:netrw_list_hide* The "a" map toggles the netrw vim file browser (both remote and local) between @@ -685,9 +719,7 @@ patterns (ex. \.obj) to be hidden from normal listing. (see |netrw-h|) EDIT FILE OR DIRECTORY HIDING LIST *netrw-h* -Actually <Leader>h, where the <Leader> is, by default, the backslash. - -The "<Leader>h" map brings up a requestor allowing the user to change the +The "<ctrl-h>" map brings up a requestor allowing the user to change the file/directory hiding list. The hiding list consists of one or more patterns delimited by commas. Files and/or directories satisfying these patterns will be hidden (ie. not shown). @@ -707,6 +739,21 @@ One may select the sorting style by name, time, or (file) size. The listing will automatically be refreshed to reflect the selected style. +EDITING THE SORTING SEQUENCE *netrw-S* + +When "Sorted by" is name, one may specify priority via the sorting +sequence (g:netrw_sort_sequence). The sorting sequence typically +prioritizes the name-listing by suffix, although any pattern will do. +Patterns are delimited by commas. The default sorting sequence is: +> + /$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$ +< +The lone * is where all filenames not covered by one of the other +patterns will end up. One may change the sorting sequence by modifying +the g:netrw_sort_sequence variable (either manually or in your <.vimrc>) +or by using the "S" map. + + REVERSING SORTING ORDER *netrw-r* One may toggle between normal and reverse sorting order by pressing the @@ -738,6 +785,38 @@ See the <plugin/NetrwFileHandlers.vim> for an example of how to handle an html file with mozilla. +MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* + +By default, g:netrw_keepdir is 0. This setting means that the current +directory will track the browsing directory. However, setting g:netrw_keepdir +to 1 (say, in your <.vimrc>) will keep the current directory independent +of the browsing directory. In that case, in order to make the two +directories the same, use the "c" map (just type c). + + +BOOKMARKING A DIRECTORY *netrw-b* + +One may easily "bookmark" a directory by using + + {cnt}b + +Any count may be used. + + +CHANGING TO A BOOKMARKED DIRECTORY *netrw-B* + +To change directory back to a bookmarked directory, use + + {cnt}B + +Any count may be used. + + +LISTING BOOKMARKS *netrw-q* + +Pressing "q" will list the bookmarked directories. (query) + + IMPROVING DIRECTORY BROWSING *netrw-list-hack* Especially with the remote directory browser, constantly entering the password @@ -767,15 +846,31 @@ which is loaded automatically at startup (assuming :set nocp). or http://vim.sourceforge.net/scripts/script.php?script_id=120 - and put it into your local plugin directory + and put it into your local plugin directory. + + 2. <Decho.vim> itself needs the <cecutil.vim> script, so you'll need + to put it into your .vim/plugin, too. You may obtain it from: + + http://mysite.verizon.net/astronaut/vim/index.html#VimFuncs + as "DrC's Utilities" - 2. Edit the <netrw.vim> file as follows: + 3. Edit the <netrw.vim> file by typing: + vim netrw.vim :DechoOn + :wq + + To restore to normal non-debugging behavior, edit <netrw.vim> + by typing + + vim netrw.vim + :DechoOff + :wq - (to restore to normal, use :DechoOff ) + This command, provided by <Decho.vim>, will comment out all + Decho-debugging statements (Dfunc(), Dret(), Decho(), Dredir()). - 3. Then bring up vim and attempt a transfer. A set of messages + 4. Then bring up vim and attempt a transfer. A set of messages should appear concerning the steps that <netrw.vim> took in attempting to read/write your file over the network. Please send that information to <netrw.vim>'s maintainer, diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index faf31168b..7ef1cf950 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 7.0aa. Last change: 2004 Jun 22 +*repeat.txt* For Vim version 7.0aa. Last change: 2004 Jul 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -20,7 +20,8 @@ Chapter 26 of the user manual introduces repeating |usr_26.txt|. *.* . Repeat last change, with count replaced with [count]. Also repeat a yank command, when the 'y' flag is - included in 'cpoptions'. + included in 'cpoptions'. Does not repeat a + command-line command. Simple changes can be repeated with the "." command. Without a count, the count of the last change is used. If you enter a count, it will replace the diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index d31122b91..28de79adc 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.0aa. Last change: 2004 Jul 15 +*syntax.txt* For Vim version 7.0aa. Last change: 2004 Sep 01 VIM REFERENCE MANUAL by Bram Moolenaar @@ -664,13 +664,21 @@ an the "after" directory in 'runtimepath'. For Unix this would be syn sync fromstart set foldmethod=syntax +CH *ch.vim* *ch-syntax* + +C/C++ interpreter. Ch has similar syntax highlighting to C and builds upon +the C syntax file. See |c.vim| for all the settings that are available for C. + +By setting a variable you can tell Vim to use Ch syntax for *.h files, instead +of C or C++: > + :let ch_syntax_for_h = 1 + CHILL *chill.vim* *chill-syntax* Chill syntax highlighting is similar to C. See |c.vim| for all the settings that are available. Additionally there is: -chill_syntax_for_h use Ch syntax for *.h files, instead of C or C++ chill_space_errors like c_space_errors chill_comment_string like c_comment_strings chill_minlines like c_minlines @@ -1776,14 +1784,22 @@ If you use POD files or POD segments, you might: > :let perl_include_pod = 1 -To handle package references in variable and function names differently from -the rest of the name (like 'PkgName::' in '$PkgName::VarName'): > +The reduce the complexity of parsing (and increase performance) you can switch +off two elements in the parsing of variable names and contents. > + +To handle package references in variable and function names not differently +from the rest of the name (like 'PkgName::' in '$PkgName::VarName'): > + + :let perl_no_scope_in_variables = 1 + +(In Vim 6.x it was the other way around: "perl_want_scope_in_variables" +enabled it.) - :let perl_want_scope_in_variables = 1 +If you do not want complex things like '@{${"foo"}}' to be parsed: > -If you want complex things like '@{${"foo"}}' to be parsed: > + :let perl_no_extended_vars = 1 - :let perl_extended_vars = 1 +{In Vim 6.x it was the other way around: "perl_extended_vars" enabled it.) The coloring strings can be changed. By default strings and qq friends will be highlighted like the first line. If you set the variable @@ -1813,7 +1829,11 @@ its attempts in syntax highlighting. > If you want to use folding with perl, set perl_fold: > - :let perl_fold = 1 + :let perl_fold = 1 + +If you want to fold blocks in if statements, etc. as well set the following: > + + :let perl_fold_blocks = 1 PHP3 and PHP4 *php.vim* *php3.vim* *php-syntax* *php3-syntax* @@ -2264,6 +2284,17 @@ fast enough, you can increase minlines and/or maxlines near the end of the syntax file. +SQL *sql.vim* *sql-syntax* + *sqlinformix.vim* *sqlinformix-syntax* + +While there is an ANSI standard for SQL, most database engines add their +own custom extensions. Vim currently supports the Oracle and Informix +dialects of SQL. Vim assumes "*.sql" files are Oracle SQL by default. + +If you want to use the Informix dialect, put this in your startup vimrc: > + :let g:filetype_sql = "sqlinformix" + + TCSH *tcsh.vim* *tcsh-syntax* This covers the shell named "tcsh". It is a superset of csh. See |csh.vim| @@ -3514,6 +3545,8 @@ in their own color. ":colorscheme" in a color scheme script. After the color scheme has been loaded the |ColorScheme| autocommand event is triggered. + For info about writing a colorscheme file: > + :edit $VIMRUNTIME/colors/README.txt :hi[ghlight] List all the current highlight groups that have attributes set. diff --git a/runtime/doc/tags b/runtime/doc/tags index 98a40e6cb..e63526511 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1994,6 +1994,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* :jumps motion.txt /*:jumps* :k motion.txt /*:k* :kee motion.txt /*:kee* +:keepa editing.txt /*:keepa* +:keepalt editing.txt /*:keepalt* :keepj motion.txt /*:keepj* :keepjumps motion.txt /*:keepjumps* :keepmarks motion.txt /*:keepmarks* @@ -4143,6 +4145,8 @@ catch-interrupt eval.txt /*catch-interrupt* catch-order eval.txt /*catch-order* catch-text eval.txt /*catch-text* cc change.txt /*cc* +ch-syntax syntax.txt /*ch-syntax* +ch.vim syntax.txt /*ch.vim* change-list-jumps motion.txt /*change-list-jumps* change.txt change.txt /*change.txt* changed-5.1 version5.txt /*changed-5.1* @@ -4689,6 +4693,7 @@ fortran-syntax syntax.txt /*fortran-syntax* fortran.vim syntax.txt /*fortran.vim* french-maillist intro.txt /*french-maillist* frombook usr_01.txt /*frombook* +ftdetect filetype.txt /*ftdetect* ftp pi_netrw.txt /*ftp* ftplugin usr_41.txt /*ftplugin* ftplugin-docs filetype.txt /*ftplugin-docs* @@ -4730,7 +4735,7 @@ g:explSuffixesLast pi_expl.txt /*g:explSuffixesLast* g:explUseSeparators pi_expl.txt /*g:explUseSeparators* g:explVertical pi_expl.txt /*g:explVertical* g:explWinSize pi_expl.txt /*g:explWinSize* -g:netrw_a pi_netrw.txt /*g:netrw_a* +g:netrw-a pi_netrw.txt /*g:netrw-a* g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd* g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide* g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd* @@ -5434,19 +5439,22 @@ netbeans-support netbeans.txt /*netbeans-support* netbeans.txt netbeans.txt /*netbeans.txt* netrw pi_netrw.txt /*netrw* netrw-- pi_netrw.txt /*netrw--* +netrw-B pi_netrw.txt /*netrw-B* netrw-D pi_netrw.txt /*netrw-D* -netrw-H pi_netrw.txt /*netrw-H* -netrw-M pi_netrw.txt /*netrw-M* netrw-R pi_netrw.txt /*netrw-R* +netrw-S pi_netrw.txt /*netrw-S* netrw-activate pi_netrw.txt /*netrw-activate* +netrw-b pi_netrw.txt /*netrw-b* netrw-browse pi_netrw.txt /*netrw-browse* netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds* netrw-browse-var pi_netrw.txt /*netrw-browse-var* -netrw-c-l pi_netrw.txt /*netrw-c-l* +netrw-c pi_netrw.txt /*netrw-c* netrw-cadaver pi_netrw.txt /*netrw-cadaver* netrw-contents pi_netrw.txt /*netrw-contents* netrw-cr pi_netrw.txt /*netrw-cr* netrw-credits pi_netrw.txt /*netrw-credits* +netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l* +netrw-d pi_netrw.txt /*netrw-d* netrw-debug pi_netrw.txt /*netrw-debug* netrw-delete pi_netrw.txt /*netrw-delete* netrw-dir pi_netrw.txt /*netrw-dir* @@ -5454,6 +5462,7 @@ netrw-ex pi_netrw.txt /*netrw-ex* netrw-file pi_netrw.txt /*netrw-file* netrw-fixup pi_netrw.txt /*netrw-fixup* netrw-ftp pi_netrw.txt /*netrw-ftp* +netrw-h pi_netrw.txt /*netrw-h* netrw-help pi_netrw.txt /*netrw-help* netrw-history pi_netrw.txt /*netrw-history* netrw-i pi_netrw.txt /*netrw-i* @@ -5461,13 +5470,17 @@ netrw-list pi_netrw.txt /*netrw-list* netrw-list-hack pi_netrw.txt /*netrw-list-hack* netrw-move pi_netrw.txt /*netrw-move* netrw-netrc pi_netrw.txt /*netrw-netrc* +netrw-nread pi_netrw.txt /*netrw-nread* +netrw-nwrite pi_netrw.txt /*netrw-nwrite* netrw-o pi_netrw.txt /*netrw-o* netrw-options pi_netrw.txt /*netrw-options* netrw-passwd pi_netrw.txt /*netrw-passwd* +netrw-path pi_netrw.txt /*netrw-path* netrw-protocol pi_netrw.txt /*netrw-protocol* +netrw-q pi_netrw.txt /*netrw-q* netrw-r pi_netrw.txt /*netrw-r* +netrw-read pi_netrw.txt /*netrw-read* netrw-ref pi_netrw.txt /*netrw-ref* -netrw-remove pi_netrw.txt /*netrw-remove* netrw-rename pi_netrw.txt /*netrw-rename* netrw-s pi_netrw.txt /*netrw-s* netrw-transparent pi_netrw.txt /*netrw-transparent* @@ -5475,6 +5488,8 @@ netrw-uidpass pi_netrw.txt /*netrw-uidpass* netrw-urls pi_netrw.txt /*netrw-urls* netrw-v pi_netrw.txt /*netrw-v* netrw-var pi_netrw.txt /*netrw-var* +netrw-variables pi_netrw.txt /*netrw-variables* +netrw-write pi_netrw.txt /*netrw-write* netrw-x pi_netrw.txt /*netrw-x* netrw-xfer pi_netrw.txt /*netrw-xfer* netrw.vim pi_netrw.txt /*netrw.vim* @@ -5966,6 +5981,10 @@ sponsor.txt sponsor.txt /*sponsor.txt* spoon os_unix.txt /*spoon* spup-syntax syntax.txt /*spup-syntax* spup.vim syntax.txt /*spup.vim* +sql-syntax syntax.txt /*sql-syntax* +sql.vim syntax.txt /*sql.vim* +sqlinformix-syntax syntax.txt /*sqlinformix-syntax* +sqlinformix.vim syntax.txt /*sqlinformix.vim* sscanf eval.txt /*sscanf* standard-plugin usr_05.txt /*standard-plugin* standard-plugin-list help.txt /*standard-plugin-list* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 1313e4585..b72c62c7a 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2004 Jul 28 +*todo.txt* For Vim version 7.0aa. Last change: 2004 Aug 31 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,6 +30,17 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- +Multi-byte char in file name causes trouble for opening, "send to" menu and +writing. Patches from Taro Muraoka: + ~/Mail/oldmail/muraoka/in.00575 + ~/Mail/oldmail/muraoka/in.00577 + +Is there a limit on the buffer list in the viminfo file? +":n ~/.trashcan/bogus*" fills it. + +When gvim is started from the context menu the xxd menu entries don't work +(Valencia). xxd.exe is not in $VIMRUNTIME. + Aborting at the ATTENTION prompt causes trouble: buffer remains active, nwindows isn't closed (fixed in buffer.c) alternate buffer gets "read error" flag. @@ -44,6 +55,12 @@ Added ga_append() here: (also to 6.3?) gui_do_findrepl(flags, find_text, repl_text, down) serverGetVimNames(dpy) if_xcmdsrv.c, os_mswin.c +Win32: When the path to a file has Russian characters, ":cd %:p:h" doesn't +work. (Valery Kondakoff) + +Win32: When an argument is typed in a console in the active codepage, and +'encoding' is "utf-8", detect this from illegal characters. Convert from +console or active codepage to utf-8 then. For version 7.0: - Include many PATCHES: @@ -81,6 +98,8 @@ For version 7.0: Patch from Yakov Lerner, including test (2004 Jan 7). VimResized - When the Vim window has been resized (SIGWINCH) patch from Yakov Lerner, 2003 July 24. + Patch for specifying an expression for numbered lists. (Hugo Haas, + 2004 Aug 7) --- awaiting updated patch --- 7 Add patch from Wall for this one ( ~/Mail/oldmail/wall/in.00019 ): 'flipcase' variable: upper/lowercase pairs. @@ -230,7 +249,8 @@ For version 7.0: - STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is. Especially when using the scrollbar. Typing a cursor-movement command scrolls back to where the cursor is. -8 Support four composing characters, needed for Hebrew. (Ron Aaron) +8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron) + Add the 'maxcombining' option to set the nr. of composing characters. - Add a few more things to 'diffopt': "horizontal", "vertical", "foldcolumn". (Benji Fisher, 2004 Jun 21) - FileChangedShellPost autocommand event: after (not) reloading a changed @@ -256,6 +276,14 @@ For version 7.0: the part that already matched is doubled then. Remove the part of the word that would be doubled. Make it work line CTRL-N in Insert mode. - Add Lua interface? (Wolfgang Oertl) +- "onemore" flag in 'virtualedit': move cursor past end of line. Patch by + Mattias Flodin (2004 Jul 30) + +Support ":set syntax=cpp.doxygen"? Suggested patch by Michael Geddes (9 Aug +2004). Should also work for 'filetype'. + +Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav +Smilauer, 2004 Aug 17) Vi incompatibility: @@ -365,6 +393,9 @@ Win32 GUI known bugs: "lucida_console:h8"). 6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":" of ":only" is highlighted like the cursor. (Lipelis) +8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide + characters to make Asian languages work. Win32 fonts contain both + type of characters. 7 When font smoothing is enabled, redrawing can become very slow. The reason appears to be drawing with a transparent background. Would it be possible to use an opaque background in most places? @@ -1081,6 +1112,8 @@ Problems that will (probably) not be solved: *extensions-improvements* Documentation: +8 List of options should mention whether environment variables are expanded + or not. 8 Extend usr_27.txt a bit. (Adam Seyfarth) 7 Add a section on debugging scripts in the user manual. 9 Make the Reference Manual more precise. For each command mention: @@ -2973,6 +3006,8 @@ Various improvements: the buffer. Buffer may be modified. 6 In the quickfix window statusline add the command used to get the list of errors, e.g. ":make foo", ":grep something *.c". +7 Add a ":cstring" command. Works like ":cfile" but reads from a string + variable. Also accept a list variable? 6 Python interface: add vim.message() function. (Michal Vitecek, 2002 Nov 5) 7 Support using ":vert" with User commands. Add expandable items <vert>. Do the same for ":browse" and ":confirm"? diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt index ebdf7c7c0..b8139a3cb 100644 --- a/runtime/doc/uganda.txt +++ b/runtime/doc/uganda.txt @@ -1,4 +1,4 @@ -*uganda.txt* For Vim version 7.0aa. Last change: 2004 May 12 +*uganda.txt* For Vim version 7.0aa. Last change: 2004 Aug 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -214,7 +214,7 @@ Check the ICCF web site for the latest information! See |iccf| for the URL. USA and Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They take care of the Canadian sponsors for the children in Kibaale. You can send them a one time donation directly. - Please send me a note so that know what has been donated + Please send me a note so that I know what has been donated because of Vim. Ask KCF for information about sponsorship. Kibaale Children's Fund c/o Pacific Academy 10238-168 Street diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt index 47396ccf4..42346f22f 100644 --- a/runtime/doc/usr_05.txt +++ b/runtime/doc/usr_05.txt @@ -1,4 +1,4 @@ -*usr_05.txt* For Vim version 7.0aa. Last change: 2004 Jun 24 +*usr_05.txt* For Vim version 7.0aa. Last change: 2004 Aug 27 VIM USER MANUAL - by Bram Moolenaar @@ -427,6 +427,8 @@ you already have the directory.) > :!mkdir ~/.vim/plugin :!cp $VIMRUNTIME/macros/matchit.vim ~/.vim/plugin +The "cp" command is for Unix, on MS-DOS you can use "copy". + Now create a "doc" directory in one of the directories in 'runtimepath'. > :!mkdir ~/.vim/doc diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index e0ea026df..97c39d9a0 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 7.0aa. Last change: 2004 May 06 +*usr_41.txt* For Vim version 7.0aa. Last change: 2004 Aug 28 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 0de7925a3..4260877c5 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2004 Jul 27 +*version7.txt* For Vim version 7.0aa. Last change: 2004 Sep 01 VIM REFERENCE MANUAL by Bram Moolenaar @@ -120,6 +120,8 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind) |:diffoff| Switch off diff mode in the current window or in all windows. +|:keepalt| Do not change the alternate file. + New functions: ~ @@ -148,6 +150,10 @@ New Syntax/Indent/FTplugin files: ~ MuPAD source syntax, indent and ftplugin. (Dave Silvia) +ABAB/4 syntax file. (Marius van Wyk) + +SQL-Informix syntax file. (Dean L Hill) + Others: ~ @@ -195,6 +201,20 @@ Lakshmanan) Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull) +When uncompressing fails in the gzip plugin, give an error message but don't +delete the raw text. Helps if the file has a .gz extension but is not +actually compressed. (Andrew Pimlott) + +When C, C++ or IDL syntax is used, may additionally load doxygen syntax. +Also support setting the filetype to "cdoxygen" for C plus doxygen syntax. +(Michael Geddes) + +The ":registers" command now displays multi-byte characters properly. + +VMS: In the usage message mention that a slash can be used to make a flag +upper case. Add color support to the builtin vt320 terminal codes. +(Zoltan Arpadffy) + ============================================================================== COMPILE TIME CHANGES *compile-changes-7* @@ -293,4 +313,21 @@ When using the ":saveas f2" command for buffer "f1", the Buffers menu would contain "f2" twice, one of them leading to "f1". Also trigger the BufFilePre and BufFilePost events for the alternate buffer that gets the old name. +strridx() did not work well when the needle is empty. (Ciaran McCreesh) + +GTK: Avoid a potential hang in gui_mch_wait_for_chars() when input arrives +just before it is invoked + +VMS: Occasionally CR characters were inserted in the file. Expansion of +environment variables was not correct. (Zoltan Arpadffy) + +UTF-8: When 'delcombine' is set "dw" only deleted the last combining character +from the first character of the word. + +When using ":sball" in an autocommand only the filetype in one buffer was +detected. Reset did_filetype in enter_buffer(). + +When using ":argdo" and the window already was at the first argument index, +but not actually editing it, the current buffer would be used instead. + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 19669fbf4..ed856da11 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2004 Jul 06 +" Last Change: 2004 Aug 30 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -63,6 +63,9 @@ endfun " A-A-P recipe au BufNewFile,BufRead *.aap setf aap +" ABAB/4 +au BufNewFile,BufRead *.abap setf abap + " ABC music notation au BufNewFile,BufRead *.abc setf abc @@ -1426,8 +1429,19 @@ au BufNewFile,BufRead *.spy,*.spi setf spyce " Squid au BufNewFile,BufRead squid.conf setf squid -" SQL (all but the first one for Oracle Designer) -au BufNewFile,BufRead *.sql,*.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql +" SQL for Oracle Designer +au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql + +" SQL +au BufNewFile,BufRead *.sql call SetFileTypeSQL() + +fun! SetFileTypeSQL() + if exists("g:filetype_sql") + exe "setf " . g:filetype_sql + else + setf sql + endif +endfun " SQLJ au BufNewFile,BufRead *.sqlj setf sqlj diff --git a/runtime/ftplugin/c.vim b/runtime/ftplugin/c.vim index 3d507581f..cf6686c72 100644 --- a/runtime/ftplugin/c.vim +++ b/runtime/ftplugin/c.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2004 May 16 +" Last Change: 2004 Sep 01 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -37,7 +37,7 @@ if has("gui_win32") && !exists("b:browsefilter") \ "C Header Files (*.h)\t*.h\n" . \ "C Source Files (*.c)\t*.c\n" . \ "All Files (*.*)\t*.*\n" - elseif &ft == "chscript" + elseif &ft == "ch" let b:browsefilter = "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" . \ "C Header Files (*.h)\t*.h\n" . \ "C Source Files (*.c)\t*.c\n" . diff --git a/runtime/indent/lua.vim b/runtime/indent/lua.vim index 37e397e37..2ea16dbf8 100644 --- a/runtime/indent/lua.vim +++ b/runtime/indent/lua.vim @@ -1,11 +1,13 @@ " Vim indent file " Language: Lua script -" Maintainer: Marcus Aurelius Farias <marcuscf@vant.com.br> -" First Author: Max Ischenko <mfi@ukr.net> -" Last Change: 2003 Jan 20 +" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br> +" First Author: Max Ischenko <mfi 'at' ukr.net> +" Last Change: 2004 Aug 29 " Only define the function once. -if exists("*GetLuaIndent") | finish | endif +if exists("*GetLuaIndent") + finish +endif setlocal indentexpr=GetLuaIndent() @@ -28,21 +30,22 @@ function! GetLuaIndent() " function, if, for, while, repeat, else, elseif, '{' let ind = indent(lnum) let flag = 0 - if getline(lnum) =~ '^\s*\(function\>\|if\>\|for\>\|while\>\|repeat\>\|else\>\|elseif\>\|do\>\)' || getline(lnum) =~ '{\s*$' || getline(lnum) =~ '\s*=\s*function' - let ind = ind + &sw + let prevline = getline(lnum) + if prevline =~ '^\s*\%(if\>\|for\>\|while\>\|repeat\>\|else\>\|elseif\>\|do\>\)' || prevline =~ '{\s*$' || prevline =~ '\<function\>\s*\%(\k\|[.:]\)\{-}\s*(' + let ind = ind + &shiftwidth let flag = 1 endif " Subtract a 'shiftwidth' after lines ending with " 'end' when they begin with while, if, for, etc. - if flag == 1 && getline(lnum) =~ '\<end\>\|\<until\>' - let ind = ind - &sw + if flag == 1 && prevline =~ '\<end\>\|\<until\>' + let ind = ind - &shiftwidth endif " Subtract a 'shiftwidth' on end, else (and elseif), until and '}' " This is the part that requires 'indentkeys'. - if getline(v:lnum) =~ '^\s*\(end\|else\|until\|}\)' - let ind = ind - &sw + if getline(v:lnum) =~ '^\s*\%(end\|else\|until\|}\)' + let ind = ind - &shiftwidth endif return ind diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim index 0de77748c..08d8ebf63 100644 --- a/runtime/indent/vim.vim +++ b/runtime/indent/vim.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Vim script " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2003 May 25 +" Last Change: 2004 Sep 02 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -36,10 +36,14 @@ function GetVimIndent() " Add a 'shiftwidth' after :if, :while, :try, :catch, :finally, :function " and :else. Add it three times for a line that starts with '\' after - " a line that doesn't. + " a line that doesn't (or g:vim_indent_cont if it exists). let ind = indent(lnum) if getline(v:lnum) =~ '^\s*\\' && v:lnum > 1 && getline(lnum) !~ '^\s*\\' - let ind = ind + &sw * 3 + if exists("g:vim_indent_cont") + let ind = ind + g:vim_indent_cont + else + let ind = ind + &sw * 3 + endif elseif getline(lnum) =~ '\(^\||\)\s*\(if\|wh\%[ile]\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>' let ind = ind + &sw elseif getline(lnum) =~ '^\s*aug\%[roup]' && getline(lnum) !~ '^\s*aug\%[roup]\s*!\=\s\+END' diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim index 690c49485..e54b327d4 100644 --- a/runtime/makemenu.vim +++ b/runtime/makemenu.vim @@ -1,6 +1,6 @@ " Script to define the syntax menu in synmenu.vim " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2004 May 22 +" Last Change: 2004 Aug 30 " This is used by "make menu" in the src directory. edit <sfile>:p:h/synmenu.vim @@ -49,6 +49,7 @@ fun! <SID>Syn(arg) endfun SynMenu AB.Aap:aap +SynMenu AB.ABAP/4:abap SynMenu AB.Abaqus:abaqus SynMenu AB.ABC\ music\ notation:abc SynMenu AB.ABEL:abel @@ -153,7 +154,6 @@ SynMenu DE.Elinks\ config:elinks SynMenu DE.Elm\ filter\ rules:elmfilt SynMenu DE.Embedix\ Component\ Description:ecd SynMenu DE.ERicsson\ LANGuage:erlang -SynMenu DE.ESQL-C:esqlc SynMenu DE.Essbase\ script:csc SynMenu DE.Eterm\ config:eterm SynMenu DE.Exim\ conf:exim @@ -306,7 +306,6 @@ SynMenu PQ.Pike:pike SynMenu PQ.Pine\ RC:pine SynMenu PQ.Pinfo\ RC:pinfo SynMenu PQ.PL/M:plm -SynMenu PQ.PL/SQL:plsql SynMenu PQ.PLP:plp SynMenu PQ.PO\ (GNU\ gettext):po SynMenu PQ.Postfix\ main\ config:pfmain @@ -392,10 +391,13 @@ SynMenu Sh-S.Spyce:spyce SynMenu Sh-S.Speedup:spup SynMenu Sh-S.Splint:splint SynMenu Sh-S.Squid\ config:squid +SynMenu Sh-S.SQL.ESQL-C:esqlc SynMenu Sh-S.SQL.MySQL:mysql -SynMenu Sh-S.SQL.SQL:sql +SynMenu Sh-S.SQL.PL/SQL:plsql +SynMenu Sh-S.SQL.SQL\ (Oracle):sql SynMenu Sh-S.SQL.SQL\ Forms:sqlforms SynMenu Sh-S.SQL.SQLJ:sqlj +SynMenu Sh-S.SQL.SQL-Informix:sqlinformix SynMenu Sh-S.SQR:sqr SynMenu Sh-S.Ssh.ssh_config:sshconfig SynMenu Sh-S.Ssh.sshd_config:sshdconfig diff --git a/runtime/plugin/NetrwFileHandlers.vim b/runtime/plugin/NetrwFileHandlers.vim index 619115b99..7da6479fd 100644 --- a/runtime/plugin/NetrwFileHandlers.vim +++ b/runtime/plugin/NetrwFileHandlers.vim @@ -1,11 +1,18 @@ " NetrwFileHandlers: contains various extension-based file handlers for " netrw's browsers' x command ("eXecute launcher") " Author: Charles E. Campbell, Jr. -" Date: Jul 09, 2004 -" Version: 1 +" Date: Aug 27, 2004 +" Version: 2 + " --------------------------------------------------------------------- +" Prevent Reloading: {{{1 +if exists("g:loaded_netrwfilehandlers") || &cp + finish +endif +let g:loaded_netrwfilehandlers= "v2" -" NetrwFileHandler_html: handles html when the user hits "x" when the +" --------------------------------------------------------------------- +" NetrwFileHandler_html: handles html when the user hits "x" when the {{{1 " cursor is atop a *.html file fun! NetrwFileHandler_html(pagefile) " call Dfunc("NetrwFileHandler_html(".a:pagefile.")") @@ -14,10 +21,10 @@ fun! NetrwFileHandler_html(pagefile) if executable("mozilla") " call Decho("executing !mozilla ".page) - exe "!mozilla ".page + exe "!mozilla \"".page.'"' elseif executable("netscape") " call Decho("executing !netscape ".page) - exe "!netscape ".page + exe "!netscape \"".page.'"' else " call Dret("NetrwFileHandler_html 0") return 0 @@ -28,7 +35,7 @@ fun! NetrwFileHandler_html(pagefile) endfun " --------------------------------------------------------------------- -" NetrwFileHandler_htm: handles html when the user hits "x" when the +" NetrwFileHandler_htm: handles html when the user hits "x" when the {{{1 " cursor is atop a *.htm file fun! NetrwFileHandler_htm(pagefile) " call Dfunc("NetrwFileHandler_htm(".a:pagefile.")") @@ -37,10 +44,10 @@ fun! NetrwFileHandler_htm(pagefile) if executable("mozilla") " call Decho("executing !mozilla ".page) - exe "!mozilla ".page + exe "!mozilla \"".page.'"' elseif executable("netscape") " call Decho("executing !netscape ".page) - exe "!netscape ".page + exe "!netscape \"".page.'"' else " call Dret("NetrwFileHandler_htm 0") return 0 @@ -51,14 +58,15 @@ fun! NetrwFileHandler_htm(pagefile) endfun " --------------------------------------------------------------------- -" NetrwFileHandler_jpg: +" NetrwFileHandler_jpg: {{{1 fun! NetrwFileHandler_jpg(jpgfile) " call Dfunc("NetrwFileHandler_jpg(jpgfile<".a:jpgfile.">)") if executable("gimp") exe "silent! !gimp -s ".a:jpgfile elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") - exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".a:jpgfile +" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'")) + exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:jpgfile.'"' else " call Dret("NetrwFileHandler_jpg 0") return 0 @@ -69,14 +77,14 @@ fun! NetrwFileHandler_jpg(jpgfile) endfun " --------------------------------------------------------------------- -" NetrwFileHandler_gif: +" NetrwFileHandler_gif: {{{1 fun! NetrwFileHandler_gif(giffile) " call Dfunc("NetrwFileHandler_gif(giffile<".a:giffile.">)") if executable("gimp") exe "silent! !gimp -s ".a:giffile elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") - exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".a:giffile + exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:giffile.'"' else " call Dret("NetrwFileHandler_gif 0") return 0 @@ -87,14 +95,32 @@ fun! NetrwFileHandler_gif(giffile) endfun " --------------------------------------------------------------------- -" NetrwFileHandler_pnm: +" NetrwFileHandler_png: {{{1 +fun! NetrwFileHandler_png(pngfile) +" call Dfunc("NetrwFileHandler_png(pngfile<".a:pngfile.">)") + + if executable("gimp") + exe "silent! !gimp -s ".a:pngfile + elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") + exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pngfile.'"' + else +" call Dret("NetrwFileHandler_png 0") + return 0 + endif + +" call Dret("NetrwFileHandler_png 1") + return 1 +endfun + +" --------------------------------------------------------------------- +" NetrwFileHandler_pnm: {{{1 fun! NetrwFileHandler_pnm(pnmfile) " call Dfunc("NetrwFileHandler_pnm(pnmfile<".a:pnmfile.">)") if executable("gimp") exe "silent! !gimp -s ".a:pnmfile elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") - exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".a:pnmfile + exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pnmfile.'"' else " call Dret("NetrwFileHandler_pnm 0") return 0 @@ -105,14 +131,14 @@ fun! NetrwFileHandler_pnm(pnmfile) endfun " --------------------------------------------------------------------- -" NetrwFileHandler_bmp: visualize bmp files +" NetrwFileHandler_bmp: visualize bmp files {{{1 fun! NetrwFileHandler_bmp(bmpfile) " call Dfunc("NetrwFileHandler_bmp(bmpfile<".a:bmpfile.">)") if executable("gimp") exe "silent! !gimp -s ".a:bmpfile elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") - exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".a:bmpfile + exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:bmpfile.'"' else " call Dret("NetrwFileHandler_bmp 0") return 0 @@ -123,84 +149,109 @@ fun! NetrwFileHandler_bmp(bmpfile) endfun " --------------------------------------------------------------------- -" NetrwFileHandler_pdf: visualize pdf files +" NetrwFileHandler_pdf: visualize pdf files {{{1 fun! NetrwFileHandler_pdf(pdf) - " call Dfunc("NetrwFileHandler_pdf(pdf<".a:pdf.">)") +" " call Dfunc("NetrwFileHandler_pdf(pdf<".a:pdf.">)") if executable("gs") exe "silent! !gs ".a:pdf else - " call Dret("NetrwFileHandler_pdf 0") +" " call Dret("NetrwFileHandler_pdf 0") return 0 endif - " call Dret("NetrwFileHandler_pdf 1") +" " call Dret("NetrwFileHandler_pdf 1") return 1 endfun " --------------------------------------------------------------------- -" NetrwFileHandler_sxw: visualize sxw files +" NetrwFileHandler_sxw: visualize sxw files {{{1 fun! NetrwFileHandler_sxw(sxw) - " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)") +" " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)") if executable("gs") exe "silent! !gs ".a:sxw else - " call Dret("NetrwFileHandler_sxw 0") +" " call Dret("NetrwFileHandler_sxw 0") return 0 endif - " call Dret("NetrwFileHandler_sxw 1") +" " call Dret("NetrwFileHandler_sxw 1") return 1 endfun " --------------------------------------------------------------------- -" NetrwFileHandler_doc: visualize doc files +" NetrwFileHandler_doc: visualize doc files {{{1 fun! NetrwFileHandler_doc(doc) - " call Dfunc("NetrwFileHandler_doc(doc<".a:doc.">)") +" " call Dfunc("NetrwFileHandler_doc(doc<".a:doc.">)") if executable("oowriter") exe "silent! !oowriter ".a:doc redraw! else - " call Dret("NetrwFileHandler_doc 0") +" " call Dret("NetrwFileHandler_doc 0") return 0 endif - " call Dret("NetrwFileHandler_doc 1") +" " call Dret("NetrwFileHandler_doc 1") return 1 endfun " --------------------------------------------------------------------- -" NetrwFileHandler_sxw: visualize sxw files +" NetrwFileHandler_sxw: visualize sxw files {{{1 fun! NetrwFileHandler_sxw(sxw) - " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)") +" " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)") if executable("oowriter") exe "silent! !oowriter ".a:sxw redraw! else - " call Dret("NetrwFileHandler_sxw 0") +" " call Dret("NetrwFileHandler_sxw 0") return 0 endif - " call Dret("NetrwFileHandler_sxw 1") +" " call Dret("NetrwFileHandler_sxw 1") return 1 endfun " --------------------------------------------------------------------- -" NetrwFileHandler_xls: visualize xls files +" NetrwFileHandler_xls: visualize xls files {{{1 fun! NetrwFileHandler_xls(xls) - " call Dfunc("NetrwFileHandler_xls(xls<".a:xls.">)") +" " call Dfunc("NetrwFileHandler_xls(xls<".a:xls.">)") if executable("oocalc") exe "silent! !oocalc ".a:xls redraw! else - " call Dret("NetrwFileHandler_xls 0") +" " call Dret("NetrwFileHandler_xls 0") + return 0 + endif + +" " call Dret("NetrwFileHandler_xls 1") + return 1 +endfun + +" --------------------------------------------------------------------- +" NetrwFileHandler_ps: handles PostScript files {{{1 +fun! NetrwFileHandler_ps(ps) +" call Dfunc("NetrwFileHandler_ps()") + if executable("gs") + exe "silent! !gs ".a:ps + redraw! + elseif executable("ghostscript") + exe "silent! !ghostscript ".a:ps + redraw! + elseif executable("ghostscript") + exe "silent! !ghostscript ".a:ps + redraw! + elseif executable("gswin32") + exe "silent! !gswin32 \"".a:ps.'"' + redraw! +" call Dret("NetrwFileHandler_ps 0") return 0 endif - " call Dret("NetrwFileHandler_xls 1") +" call Dret("NetrwFileHandler_ps 1") return 1 endfun " --------------------------------------------------------------------- +" vim: ts=4 fdm=marker diff --git a/runtime/plugin/gzip.vim b/runtime/plugin/gzip.vim index 39b0cbc36..2b9b5238d 100644 --- a/runtime/plugin/gzip.vim +++ b/runtime/plugin/gzip.vim @@ -1,6 +1,6 @@ " Vim plugin for editing compressed files. " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2004 Jan 12 +" Last Change: 2004 Jul 30 " Exit quickly when: " - this plugin was already loaded @@ -71,6 +71,11 @@ fun s:read(cmd) execute "silent '[,']w " . tmpe " uncompress the temp file: call system("gzip -dn tmp.gz") call system(a:cmd . " " . tmpe) + if !filereadable(tmp) + " uncompress didn't work! Keep the compressed file then. + echoerr "Error: Could not read uncompressed file" + return + endif " delete the compressed lines; remember the line number let l = line("'[") - 1 if exists(":lockmarks") diff --git a/runtime/plugin/netrw.vim b/runtime/plugin/netrw.vim index be6bb41dd..84cda93c4 100644 --- a/runtime/plugin/netrw.vim +++ b/runtime/plugin/netrw.vim @@ -1,18 +1,20 @@ " netrw.vim: Handles file transfer and remote directory listing across a network -" Last Change: Jul 26, 2004 +" Last Change: Aug 27, 2004 " Maintainer: Charles E. Campbell, Jr. PhD <drchipNOSPAM at campbellfamily.biz> -" Version: 47m +" Version: 47 " License: Vim License (see vim's :help license) " " But be doers of the word, and not only hearers, deluding your own selves " (James 1:22 RSV) " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim -" Exit quickly when already loaded or when 'compatible' is set. {{{1 +" --------------------------------------------------------------------- +" Prevent Reloading: {{{1 if exists("loaded_netrw") || &cp finish endif -let loaded_netrw = "v47m" +let loaded_netrw = "v47" let s:save_cpo = &cpo let loaded_explorer = 1 set cpo&vim @@ -26,7 +28,7 @@ if !exists("g:netrw_win95ftp") let g:netrw_win95ftp= 1 endif if !exists("g:netrw_cygwin") - if has("win32") + if has("win32") || has("win95") || has("win64") || has("win16") let g:netrw_cygwin= 1 else let g:netrw_cygwin= 0 @@ -88,8 +90,10 @@ if !exists("g:netrw_local_rmdir") let g:netrw_local_rmdir= "rmdir" endif if !exists("g:netrw_local_rename") - if has("win32") - let g:netrw_local_rename= "ren" + if g:netrw_cygwin + let g:netrw_local_rename= "mv" + elseif has("win32") || has("win95") || has("win64") || has("win16") + let g:netrw_local_rename= "rename" elseif has("unix") let g:netrw_local_rename= "mv" endif @@ -103,6 +107,26 @@ endif if !exists("g:netrw_hide") let g:netrw_hide= 1 endif +if !exists("g:netrw_ftp_browse_reject") + let g:netrw_ftp_browse_reject='^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not' +endif +if !exists("g:netrw_keepdir") + let g:netrw_keepdir= 0 +endif +if !exists("s:netrw_cd_escape") + if has("win32") || has("win95") || has("win64") || has("win16") + let s:netrw_cd_escape="#% " + else + let s:netrw_cd_escape="*$%'\" ?`" + endif +endif +if !exists("s:netrw_glob_escape") + if has("win32") || has("win95") || has("win64") || has("win16") + let s:netrw_glob_escape= "" + else + let s:netrw_glob_escape= '[]*?`{~' + endif +endif " BufEnter event ignored by decho when following variable is true " Has a side effect that doau BufReadPost doesn't work, so @@ -146,7 +170,7 @@ if !exists("g:netrw_fetch_cmd") endif endif -if has("win32") +if has("win32") || has("win95") || has("win64") || has("win16") \ && exists("g:netrw_use_nt_rcp") \ && g:netrw_use_nt_rcp \ && executable( $SystemRoot .'/system32/rcp.exe') @@ -168,7 +192,7 @@ if version >= 600 " Network Handler: {{{2 augroup Network au! - if has("win32") + if has("win32") || has("win95") || has("win64") || has("win16") au BufReadCmd file://* exe "silent doau BufReadPre ".expand("<afile>")|exe 'e '.substitute(expand("<afile>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<afile>") else au BufReadCmd file:///* exe "silent doau BufReadPre ".expand("<afile>")|exe 'e /'.substitute(expand("<afile>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<afile>") @@ -244,7 +268,7 @@ fun! s:NetRead(...) let ichoice = 1 endif - " get name of a temporary file + " get name of a temporary file and set up shell-quoting character let tmpfile= tempname() " call Decho("ichoice=".ichoice." readcmd<".readcmd.">") @@ -260,8 +284,8 @@ fun! s:NetRead(...) exe "let choice= a:" . ichoice " call Decho("no lastfile: choice<" . choice . ">") - " Reconstruct Choice if choice starts with '"' if match(choice,"?") == 0 + " give help echo 'NetRead Usage:' echo ':Nread machine:path uses rcp' echo ':Nread "machine path" uses ftp with <.netrc>' @@ -275,7 +299,9 @@ fun! s:NetRead(...) echo ':Nread scp://[user@]machine[[:#]port]/path uses scp' echo ':Nread sftp://[user@]machine[[:#]port]/path uses sftp' break + elseif match(choice,"^\"") != -1 + " Reconstruct Choice if choice starts with '"' " call Decho("reconstructing choice") if match(choice,"\"$") != -1 " case "..." @@ -304,7 +330,7 @@ fun! s:NetRead(...) let ichoice= ichoice + 1 " fix up windows urls - if has("win32") + if has("win32") || has("win95") || has("win64") || has("win16") let choice = substitute(choice,'\\','/','ge') " call Decho("fixing up windows url to <".choice."> tmpfile<".tmpfile) @@ -318,12 +344,8 @@ fun! s:NetRead(...) " Check if NetBrowse() should be handling this request " call Decho("checking if netlist: choice<".choice."> netrw_list_cmd<".g:netrw_list_cmd.">") if choice =~ "^.*/$" - if strlen(g:netrw_list_cmd) > 0 - keepjumps call s:NetBrowse(choice) -" call Dret("NetRead") - else - echoerr "sorry, can't do a remote listing; ssh isn't executable" - endif + keepjumps call s:NetBrowse(choice) +" call Dret("NetRead") return endif @@ -366,7 +388,7 @@ fun! s:NetRead(...) new setlocal ff=unix exe "put ='".g:netrw_ftpmode."'" - exe "put ='get ".netrw_fname." ".tmpfile."'" + exe "put ='"."get ".netrw_fname." ".tmpfile."'" if exists("g:netrw_port") && g:netrw_port != "" " call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port) exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port @@ -376,7 +398,11 @@ fun! s:NetRead(...) endif " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) if getline(1) !~ "^$" + let debugkeep= &debug + set debug=msg echoerr getline(1) + exe "echomsg '".getline(1)."'" + let &debug= debugkeep endif bd! let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method) @@ -413,11 +439,12 @@ fun! s:NetRead(...) " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password " call Decho('performing ftp -i -n') - norm 1Gdd + norm! 1Gdd " call Decho("executing: %!".g:netrw_ftp_cmd." -i -n") exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n" " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) if getline(1) !~ "^$" +" call Decho("error<".getline(1).">") echoerr getline(1) endif bd! @@ -496,7 +523,7 @@ fun! s:NetRead(...) endif " perform cadaver operation: - norm 1Gdd + norm! 1Gdd " call Decho("executing: %!".g:netrw_dav_cmd) exe g:netrw_silentxfer."%!".g:netrw_dav_cmd bd! @@ -570,14 +597,12 @@ fun! s:NetRead(...) " call Decho("cleanup") if exists("b:netrw_method") unlet b:netrw_method - unlet g:netrw_machine unlet b:netrw_fname endif call s:NetOptionRestore() " call Dret("NetRead") endfun -" end of NetRead " ------------------------------------------------------------------------ " NetGetFile: Function to read file "fname" with command "readcmd". {{{1 @@ -644,14 +669,14 @@ fun! s:NetGetFile(readcmd, fname, method) endif exe curbufnr . "bwipe!" - exe "f ".curfilename + exe "f ".escape(curfilename," ") " the ":f newname" apparently leaves the temporary file as the alternate " file in the buffer list (see :ls!). The following command wipes it out. exe bufnr("#")."bwipe!" else let oldul= &ul setlocal ul=-1 - exe a:readcmd." ".v:cmdarg." ".fname + exe a:readcmd." ".v:cmdarg." ".escape(fname," ") if delline > 0 " wipe out last line, which should be a blank line anyway $del @@ -764,7 +789,7 @@ fun! s:NetWrite(...) range let ichoice= ichoice + 1 " fix up windows urls - if has("win32") + if has("win32") || has("win95") || has("win64") || has("win16") let choice= substitute(choice,'\\','/','ge') "ER: see NetRead() exe 'lcd ' . fnamemodify(tmpfile,':h') @@ -807,8 +832,8 @@ fun! s:NetWrite(...) range setlocal ff=unix exe "put ='".g:netrw_ftpmode."'" " call Decho(" NetWrite: put ='".g:netrw_ftpmode."'") - exe "put ='put ".tmpfile." ".netrw_fname."'" -" call Decho("put ='put ".tmpfile." ".netrw_fname."'") + exe "put ='"."put ".tmpfile." ".netrw_fname."'" +" call Decho("put ='"."put ".tmpfile." ".netrw_fname."'") if exists("g:netrw_port") && g:netrw_port != "" " call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port) exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port @@ -850,7 +875,7 @@ fun! s:NetWrite(...) range " -n unix : DON'T use <.netrc>, even though it exists " -n win32: quit being obnoxious about password " call Decho('performing ftp -i -n') - norm 1Gdd + norm! 1Gdd " call Decho("executing: %!".g:netrw_ftp_cmd." -i -n") exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n" " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) @@ -907,7 +932,7 @@ fun! s:NetWrite(...) range endif " perform cadaver operation: - norm 1Gdd + norm! 1Gdd " call Decho("executing: %!".g:netrw_dav_cmd) exe g:netrw_silentxfer."%!".g:netrw_dav_cmd bd! @@ -938,7 +963,7 @@ fun! s:NetWrite(...) range new setlocal ff=unix put ='put '.tmpfile.' '.netrw_fname - norm 1Gdd + norm! 1Gdd " call Decho("executing: %!".g:netrw_sftp_cmd.' '.uid_machine) exe g:netrw_silentxfer."%!".g:netrw_sftp_cmd.' '.uid_machine bd! @@ -961,7 +986,6 @@ fun! s:NetWrite(...) range " call Dret("NetWrite") endfun -" end of NetWrite " ------------------------------------------------------------------------ " Browsing Support For Remote Directories And Files: {{{1 @@ -970,13 +994,17 @@ endfun " g:netrw_list_cmd has a string, HOSTNAME, that needs to be substituted " with the requested remote hostname first. fun! <SID>NetBrowse(dirname) -" call Dfunc("NetBrowse(dirname<".a:dirname.">)") +" call Dfunc("NetBrowse(dirname<".a:dirname.">) longlist=".g:netrw_longlist) " sanity check - if !exists("g:netrw_list_cmd") || g:netrw_list_cmd == '' - echoerr "***netrw*** this system doesn't support remote directory listing" -" call Dret("NetBrowse 0") - return 0 + if exists("b:netrw_method") && (b:netrw_method =~ '[23]' && !executable("ftp")) + echoerr "***netrw*** this system doesn't support remote directory listing via ftp" +" call Dret("NetBrowse") + return + elseif !exists("g:netrw_list_cmd") || g:netrw_list_cmd == '' + echoerr "***netrw*** this system doesn't support remote directory listing via ssh" +" call Dret("NetBrowse") + return endif " make this buffer modifiable @@ -984,10 +1012,11 @@ fun! <SID>NetBrowse(dirname) " analyze a:dirname and g:netrw_list_cmd let dirpat = '^\(\w\{-}\)://\(\w\+@\)\=\([^/]\+\)/\(.*\)$' +" call Decho("dirpat<".dirpat.">") if a:dirname !~ dirpat echoerr "NetBrowse: I don't understand your dirname<".a:dirname.">" -" call Dret("NetBrowse 0 : badly formatted dirname") - return 0 +" call Dret("NetBrowse : badly formatted dirname<".a:dirname.">") + return endif let method = substitute(a:dirname,dirpat,'\1','') @@ -1001,7 +1030,15 @@ fun! <SID>NetBrowse(dirname) " call Decho("set up path <".path .">") " call Decho("set up fname <".fname .">") - let listcmd = substitute(g:netrw_list_cmd,'\<HOSTNAME\>',user.machine,'') + if method == "ftp" + let listcmd = "-lF" + else + let listcmd = substitute(g:netrw_list_cmd,'\<HOSTNAME\>',user.machine,'') + endif + if exists("b:netrw_method") +" call Decho("setting s:netrw_method<".b:netrw_method.">") + let s:netrw_method= b:netrw_method + endif " optionally sort by time (-t) or by size (-S) if g:netrw_sort_by =~ "^t" @@ -1015,13 +1052,12 @@ fun! <SID>NetBrowse(dirname) endif " call Decho("set up listcmd<".listcmd.">") - if fname =~ '@$' && fname !~ '^"' " call Decho("attempt transfer of symlink as file") call s:NetBrowse(substitute(a:dirname,'@$','','e')) redraw! -" call Dret("NetBrowse 0 : symlink") - return 0 +" call Dret("NetBrowse : symlink") + return elseif fname !~ '/$' && fname !~ '^"' " looks like a regular file, attempt transfer @@ -1035,15 +1071,15 @@ fun! <SID>NetBrowse(dirname) " remote-read the requested file into current buffer enew! - exe "file ".method."://".user.machine."/".escape(path,' ') + exe "file ".method."://".user.machine."/".escape(path,s:netrw_cd_escape) exe "silent doau BufReadPre ".fname silent call s:NetRead(method."://".user.machine."/".path) exe "silent doau BufReadPost ".fname keepjumps 1d setlocal nomod -" call Dret("NetBrowse 0 : file<".fname.">") - return 0 +" call Dret("NetBrowse : file<".fname.">") + return endif " --------------------------------------------------------------------- @@ -1051,97 +1087,153 @@ fun! <SID>NetBrowse(dirname) " call Decho("Perform directory listing...") " set up new buffer and map let bufname = method.'://'.user.machine.'/'.path - let bufnamenr = bufnr(bufname) + let bufnamenr = bufexists(bufname) " call Decho("bufname<".bufname."> bufnamenr=".bufnamenr) - if bufnamenr != -1 + if bufnamenr != 0 " buffer already exists, switch to it! +" call Decho("buffer already exists, switching to it") exe "b ".bufnamenr if line("$") >= 5 -" call Dret("NetBrowse 1") - return 1 +" call Dret("NetBrowse") + return endif else +" call Decho("generate a new buffer") enew! endif + + " rename file to reflect where its from setlocal ts=32 bt=nofile bh=wipe nobl - exe 'file '.escape(bufname,' ') + exe 'file '.escape(bufname,s:netrw_cd_escape) " call Decho("renaming file to bufname<".bufname.">") setlocal bt=nowrite bh=hide nobl - nnoremap <buffer> <silent> <cr> :exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetDir()))<cr> + + " set up buffer-local mappings +" call Decho("set up buffer-local mappings") + nnoremap <buffer> <silent> <cr> :exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetWord()))<cr> nnoremap <buffer> <silent> <c-l> :exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),'./'))<cr> nnoremap <buffer> <silent> - :exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),'../'))<cr> nnoremap <buffer> <silent> a :let g:netrw_hide=!g:netrw_hide<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),'./'))<cr> - nnoremap <buffer> <silent> <Leader>h :call <SID>NetHideEdit(0)<cr> - nnoremap <buffer> <silent> i :call <SID>NetSavePosn()<bar>call <SID>NetLongList(0)<bar>call <SID>NetRestorePosn()<cr> - nnoremap <buffer> <silent> o :exe g:netrw_winsize."wincmd s"<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetDir()))<cr> - nnoremap <buffer> <silent> r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetDir()))<cr> - nnoremap <buffer> <silent> s :let g:netrw_sort_by= (g:netrw_sort_by =~ 'n')? 'time' : (g:netrw_sort_by =~ 't')? 'size' : 'name'<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),'./'))<cr> - nnoremap <buffer> <silent> v :exe g:netrw_winsize."wincmd v"<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetDir()))<cr> - nnoremap <buffer> <silent> x :exe "norm! 0"<bar>call <SID>NetBrowseX(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetDir()),1)<cr> - nnoremap <buffer> <silent> <2-leftmouse> :exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetDir()))<cr> + nnoremap <buffer> <silent> b :<c-u>call <SID>NetBookmarkDir(0,expand("%"))<cr> + nnoremap <buffer> <silent> B :<c-u>call <SID>NetBookmarkDir(1,expand("%"))<cr> + nnoremap <buffer> <silent> <c-h> :call <SID>NetHideEdit(0)<cr> + nnoremap <buffer> <silent> i :call <SID>NetLongList(0)<cr> + nnoremap <buffer> <silent> o :exe g:netrw_winsize."wincmd s"<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetWord()))<cr> + nnoremap <buffer> <silent> q :<c-u>call <SID>NetBookmarkDir(2,expand("%"))<cr> + nnoremap <buffer> <silent> r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),'./'))<cr> + nnoremap <buffer> <silent> s :call <SID>NetSaveWordPosn()<bar>let g:netrw_sort_by= (g:netrw_sort_by =~ 'n')? 'time' : (g:netrw_sort_by =~ 't')? 'size' : 'name'<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),'./'))<bar>call <SID>NetRestoreWordPosn()<cr> + nnoremap <buffer> <silent> S :call <SID>NetSortSequence(0)<cr> + nnoremap <buffer> <silent> v :exe g:netrw_winsize."wincmd v"<bar>exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetWord()))<cr> + nnoremap <buffer> <silent> x :exe "norm! 0"<bar>call <SID>NetBrowseX(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetWord()),1)<cr> + nnoremap <buffer> <silent> <2-leftmouse> :exe "norm! 0"<bar>call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),<SID>NetGetWord()))<cr> exe 'nnoremap <buffer> <silent> <del> :exe "norm! 0"<bar>call <SID>NetBrowseRm("'.user.machine.'","'.path.'")<cr>' exe 'vnoremap <buffer> <silent> <del> :call <SID>NetBrowseRm("'.user.machine.'","'.path.'")<cr>' + exe 'nnoremap <buffer> <silent> d :call <SID>NetMakeDir("'.user.machine.'")<cr>' exe 'nnoremap <buffer> <silent> D :exe "norm! 0"<bar>call <SID>NetBrowseRm("'.user.machine.'","'.path.'")<cr>' exe 'vnoremap <buffer> <silent> D :call <SID>NetBrowseRm("'.user.machine.'","'.path.'")<cr>' exe 'nnoremap <buffer> <silent> R :exe "norm! 0"<bar>call <SID>NetBrowseRename("'.user.machine.'","'.path.'")<cr>' exe 'vnoremap <buffer> <silent> R :call <SID>NetBrowseRename("'.user.machine.'","'.path.'")<cr>' - exe 'nnoremap <buffer> <silent> <Leader>m :call <SID>NetMakeDir("'.user.machine.'")<cr>' nnoremap <buffer> ? :he netrw-browse-cmds<cr> setlocal ma " Set up the banner -" call Decho("executing: r! ".listcmd." '".path."'") - keepjumps put ='\" ==============================' +" call Decho("set up the banner: sortby<".g:netrw_sort_by."> method<".method.">") + keepjumps put ='\" ===========================================================================' keepjumps put ='\" Netrw Remote Directory Listing' keepjumps put ='\" '.bufname - let g:netrw_bannercnt= 6 + let s:netrw_bannercnt= 7 + let sortby= g:netrw_sort_by + if g:netrw_sort_direction =~ "^r" + let sortby= sortby." reversed" + endif + if g:netrw_sort_by =~ "^n" " sorted by name - let g:netrw_bannercnt= g:netrw_bannercnt + 1 - keepjumps put ='\" Sorted by '.g:netrw_sort_by + let s:netrw_bannercnt= s:netrw_bannercnt + 1 + keepjumps put ='\" Sorted by '.sortby keepjumps put ='\" Sort sequence: '.g:netrw_sort_sequence else " sorted by size or date - keepjumps put ='\" Sorted by '.g:netrw_sort_by + keepjumps put ='\" Sorted by '.sortby endif if g:netrw_list_hide != "" && g:netrw_hide keepjumps put ='\" Hiding: '.g:netrw_list_hide - let g:netrw_bannercnt= g:netrw_bannercnt + 1 + let s:netrw_bannercnt= s:netrw_bannercnt + 1 endif - keepjumps put ='\" ==============================' + keepjumps put ='\" Quick Help: ?:help -:go up dir D:delete R:rename s:sort-by x:exec' + keepjumps put ='\" ===========================================================================' + + " remote read the requested directory listing + " Use ftp if that was the file-transfer method selected, otherwise use ssh + " Note that not all ftp servers honor the options for ls + if method == "ftp" + call NetBrowseFtpCmd(path,"ls ".listcmd) + keepjumps 1d - " remote read the requested directory - exe "silent r! ".listcmd." '".path."'" - keepjumps 1d + if !g:netrw_longlist +" call Decho("generate short listing") + " shorten the listing + exe "keepjumps ".s:netrw_bannercnt + " cleanup + while getline(".") =~ g:netrw_ftp_browse_reject + keepjumps d + endwhile + keepjumps put='../' + keepjumps put='./' + exe 'keepjumps silent '.s:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2/e' + exe "keepjumps silent ".s:netrw_bannercnt.',$g/ -> /s# -> .*/$#/#' + exe "keepjumps silent ".s:netrw_bannercnt.',$g/ -> /s# -> .*$#/#' + endif + + else +" call Decho("use ssh") + let shq= &shq? &shq : ( &sxq? &sxq : "'") +" call Decho("exe silent r! ".listcmd." ".shq.escape(path,s:netrw_cd_escape).shq) + exe "silent r! ".listcmd." ".shq.escape(path,s:netrw_cd_escape).shq + keepjumps 1d + endif " manipulate the directory listing (hide, sort) setlocal ft=netrwlist - if line("$") >= g:netrw_bannercnt + if line("$") >= s:netrw_bannercnt if g:netrw_hide && g:netrw_list_hide != "" call s:NetrwListHide() endif + if g:netrw_longlist " do a long listing; these substitutions need to be done prior to sorting - keepjumps silent /^total\s*\d\+$/d - exe 'keepjumps silent '.g:netrw_bannercnt.',$s/ -> .*$//e' - exe 'keepjumps silent '.g:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2\t\1/e' - exe g:netrw_bannercnt +" call Decho("manipulate long listing") + + if method == "ftp" + " cleanup + exe "keepjumps ".s:netrw_bannercnt + while getline(".") =~ '^total\s\+\d\+$' || getline(".") =~ 'Trying\s\+\d\+.*$' + keepjumps d + endwhile + exe 'keepjumps '.s:netrw_bannercnt."put='./'" + exe 'keepjumps '.s:netrw_bannercnt."put='../'" + endif + + exe 'keepjumps silent '.s:netrw_bannercnt.',$s/ -> .*$//e' + exe 'keepjumps silent '.s:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2\t\1/e' + exe s:netrw_bannercnt endif + if g:netrw_sort_by =~ "^n" call s:SetSort() - exe 'keepjumps silent '.g:netrw_bannercnt.',$call s:NetSort()' - exe 'keepjumps silent '.g:netrw_bannercnt.',$s/^\d\{3}\///e' + exe 'keepjumps silent '.s:netrw_bannercnt.',$call s:NetSort()' + exe 'keepjumps silent '.s:netrw_bannercnt.',$s/^\d\{3}\///e' endif if g:netrw_longlist " shorten the list to keep its width <= 80 characters - exe "keepjumps silent ".g:netrw_bannercnt.',$s/\t[-dstrwx]\+/\t/e' + exe "keepjumps silent ".s:netrw_bannercnt.',$s/\t[-dstrwx]\+/\t/e' endif endif + setlocal nomod + setlocal noma - setlocal noma nomod - -" call Dret("NetBrowse 1") - return 1 +" call Dret("NetBrowse") + return endfun " --------------------------------------------------------------------- @@ -1188,19 +1280,19 @@ fun! <SID>NetBrowseChgDir(dirname,newdir) endfun " --------------------------------------------------------------------- -" NetGetDir: it gets the directory named under the cursor -fun! <SID>NetGetDir() -" call Dfunc("NetGetDir() line#".line(".")) +" NetGetWord: it gets the directory named under the cursor +fun! <SID>NetGetWord() +" call Dfunc("NetGetWord() line#".line(".")) let dirname= getline(".") if dirname =~ '\t' let dirname= substitute(dirname,'\t.*$','','e') endif -" call Dret("NetGetDir <".dirname.">") +" call Dret("NetGetWord <".dirname.">") return dirname endfun " --------------------------------------------------------------------- -" NetBrowseRm: remove a remote file or directory {{{2 +" NetBrowseRm: remove/delete a remote file or directory {{{2 fun! <SID>NetBrowseRm(usrhost,path) range " call Dfunc("NetBrowseRm(usrhost<".a:usrhost."> path<".a:path.">)") " call Decho("firstline=".a:firstline." lastline=".a:lastline) @@ -1213,41 +1305,52 @@ fun! <SID>NetBrowseRm(usrhost,path) range exe ctr norm! 0 - let rmfile= a:path.s:NetGetDir() + let rmfile= s:NetGetWord() " call Decho("rmfile<".rmfile.">") if rmfile !~ '^"' && (rmfile =~ '@$' || rmfile !~ '/$') " attempt to remove file - let netrw_rm_cmd= substitute(g:netrw_rm_cmd,'HOSTNAME',a:usrhost,'').' '.rmfile -" call Decho("attempt to remove file: system(".netrw_rm_cmd.")") call inputsave() let ok= input("Confirm deletion of file<".rmfile."> ","y") call inputrestore() + if ok == "y" - let ret= system(netrw_rm_cmd) -" call Decho("returned=".ret." errcode=".v:shell_error) + if exists("s:netrw_method") && (s:netrw_method == 2 || s:netrw_method == 3) + silent! keepjumps .,$d + call NetBrowseFtpCmd(a:path,"delete ".rmfile) + else + let netrw_rm_cmd= substitute(g:netrw_rm_cmd,'HOSTNAME',a:usrhost,'').' "'.escape(a:path.rmfile,s:netrw_cd_escape).'"' +" call Decho("attempt to remove file: system(".netrw_rm_cmd.")") + let ret= system(netrw_rm_cmd) +" call Decho("returned=".ret." errcode=".v:shell_error) + endif endif else " attempt to remove directory - let netrw_rmdir_cmd= substitute(g:netrw_rmdir_cmd,'HOSTNAME',a:usrhost,'').' '.rmfile -" call Decho("attempt to remove dir: system(".netrw_rmdir_cmd.")") call inputsave() let ok= input("Confirm deletion of directory<".rmfile."> ","y") call inputrestore() if ok == "y" - let ret= system(netrw_rmdir_cmd) -" call Decho("returned=".ret." errcode=".v:shell_error) - - if v:shell_error != 0 - let netrw_rmf_cmd= substitute(g:netrw_rmf_cmd,'HOSTNAME',a:usrhost,'').' '.substitute(rmfile,'/$','','e') -" call Decho("2nd attempt to remove dir: system(".netrw_rmf_cmd.")") - let ret= system(netrw_rmf_cmd) + if exists("s:netrw_method") && (s:netrw_method == 2 || s:netrw_method == 3) + call NetBrowseFtpCmd(a:path,"rmdir ".rmfile) + else + let rmfile = a:path.rmfile + let netrw_rmdir_cmd= substitute(g:netrw_rmdir_cmd,'HOSTNAME',a:usrhost,'').' '."'".'"'.rmfile.'"'."'" +" call Decho("attempt to remove dir: system(".netrw_rmdir_cmd.")") + let ret= system(netrw_rmdir_cmd) " call Decho("returned=".ret." errcode=".v:shell_error) if v:shell_error != 0 - echoerr "unable to remove directory<".rmfile."> -- is it empty?" + let netrw_rmf_cmd= substitute(g:netrw_rmf_cmd,'HOSTNAME',a:usrhost,'').' '.substitute(rmfile,'/$','','e') +" call Decho("2nd attempt to remove dir: system(".netrw_rmf_cmd.")") + let ret= system(netrw_rmf_cmd) +" call Decho("returned=".ret." errcode=".v:shell_error) + + if v:shell_error != 0 + echoerr "unable to remove directory<".rmfile."> -- is it empty?" + endif endif endif endif @@ -1279,15 +1382,21 @@ fun! <SID>NetBrowseRename(usrhost,path) range exe "keepjumps ".ctr norm! 0 - let oldname= a:path.s:NetGetDir() + let oldname= s:NetGetWord() " call Decho("oldname<".oldname.">") call inputsave() - let newname= input("Moving ".a:usrhost."'s ".oldname." to : ",oldname) + let newname= input("Moving ".oldname." to : ",oldname) call inputrestore() - let ret= system(rename_cmd." ".oldname." ".newname) -" call Decho("executing system(".rename_cmd." ".oldname." ".newname) + if exists("s:netrw_method") && (s:netrw_method == 2 || s:netrw_method == 3) + call NetBrowseFtpCmd(a:path,"rename ".oldname." ".newname) + else + let oldname= a:path.oldname + let newname= a:path.newname +" call Decho("system(rename_cmd".' "'.escape(oldname," ").'" "'.escape(newname,s:netrw_cd_escape).'"') + let ret= system(rename_cmd.' "'.escape(oldname,s:netrw_cd_escape).'" "'.escape(newname,s:netrw_cd_escape).'"') + endif let ctr= ctr + 1 endwhile @@ -1306,6 +1415,9 @@ fun! <SID>NetBrowseX(fname,remote) " call Dfunc("NetBrowseX(".a:fname." remote=".a:remote.")") let exten= substitute(a:fname,'.*\.\(.\{-}\)','\1','e') + if has("win32") || has("win95") || has("win64") || has("win16") + let exten= substitute(exten,'^.*$','\L&\E','') + endif " call Decho("exten<".exten."> "."NetrwFileHandler_".exten."():exists=".exists("*NetrwFileHandler_".exten)) if exten != "" && exists("*NetrwFileHandler_".exten) @@ -1345,6 +1457,79 @@ fun! <SID>NetBrowseX(fname,remote) endfun " --------------------------------------------------------------------- +" NetBrowseFtpCmd: unfortunately, not all ftp servers honor options for ls {{{2 +" This function assumes that a long listing will be received. Size, time, +" and reverse sorts will be requested of the server but not otherwise +" enforced here. +fun! NetBrowseFtpCmd(path,cmd) +" call Dfunc("NetBrowseFtpCmd(path<".a:path."> cmd<".a:cmd.">) netrw_method=".s:netrw_method) + + " because WinXX ftp uses unix style input + " curline is one more than the bannercnt in order to account + " for the unwanted first blank line (doing a :put to an empty + " buffer yields a blank first line) + let ffkeep= &ff + setlocal ma + setlocal ff=unix + let curline= s:netrw_bannercnt+1 + exe "silent! keepjumps ".curline.",$d" + + "......................................... + if s:netrw_method == 2 + " ftp + <.netrc>: Method #2 + if a:path != "" + put ='cd '.a:path + endif + exe "put ='".a:cmd."'" + + if exists("g:netrw_port") && g:netrw_port != "" +" call Decho("exe ".g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port) + exe g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port + else +" call Decho("exe ".g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine) + exe g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine + endif + + "......................................... + elseif s:netrw_method == 3 + " ftp + machine,id,passwd,filename: Method #3 + setlocal ff=unix + if exists("g:netrw_port") && g:netrw_port != "" + put ='open '.g:netrw_machine.' '.g:netrw_port + else + put ='open '.g:netrw_machine + endif + + if exists("g:netrw_ftp") && g:netrw_ftp == 1 + put =g:netrw_uid + put =g:netrw_passwd + else + put ='user '.g:netrw_uid.' '.g:netrw_passwd + endif + + if a:path != "" + put ='cd '.a:path + endif + exe "put ='".a:cmd."'" + + " perform ftp: + " -i : turns off interactive prompting from ftp + " -n unix : DON'T use <.netrc>, even though it exists + " -n win32: quit being obnoxious about password +" call Decho("exe ".g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i -n") + exe g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i -n" + + "......................................... + else + echo "***warning*** unable to comply with your request<" . choice . ">" + endif + + " restore settings + let &ff= ffkeep +" call Dret("NetBrowseFtpCmd") +endfun + +" --------------------------------------------------------------------- " NetrwListHide: uses [range]g~...~d to delete files that match comma {{{2 " separated patterns given in g:netrw_list_hide fun! <SID>NetrwListHide() @@ -1360,7 +1545,7 @@ fun! <SID>NetrwListHide() let listhide= "" endif " call Decho("pruning <".hide."> listhide<".listhide.">") - exe 'keepjumps silent '.g:netrw_bannercnt.',$g~'.hide.'~d' + exe 'keepjumps silent '.s:netrw_bannercnt.',$g~'.hide.'~d' endwhile " call Dret("NetrwListHide") @@ -1380,16 +1565,37 @@ fun! <SID>NetHideEdit(mode) if a:mode == 0 silent call s:NetBrowse(s:NetBrowseChgDir(expand("%"),'./')) else - silent call s:LocalBrowse(s:NetBrowseChgDir(expand("%"),'./')) + silent call s:LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,"./")) endif " call Dret("NetHideEdit") endfun " --------------------------------------------------------------------- +" NetSortSequence: allows user to edit the sorting sequence +fun! <SID>NetSortSequence(mode) +" call Dfunc("NetSortSequence(mode=".a:mode.")") + + call inputsave() + let newsortseq= input("Edit Sorting Sequence: ",g:netrw_sort_sequence) + call inputrestore() + + " refresh the listing + let g:netrw_sort_sequence= newsortseq + if a:mode == 0 + silent call s:NetBrowse(s:NetBrowseChgDir(expand("%"),'./')) + else + silent call s:LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,"./")) + endif + +" call Dret("NetSortSequence") +endfun + +" --------------------------------------------------------------------- " NetLongList: {{{2 fun! <SID>NetLongList(mode) " call Dfunc("NetLongList(mode=".a:mode.") netrw_longlist=".g:netrw_longlist) + call s:NetSavePosn() if g:netrw_longlist != 0 " turn long listing off @@ -1406,13 +1612,32 @@ fun! <SID>NetLongList(mode) if a:mode == 0 silent call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),"./")) else - silent call <SID>LocalBrowse(<SID>LocalBrowseChgDir(expand("%"),"./")) + silent call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,"./")) endif + call s:NetRestorePosn() " call Dret("NetLongList : g:netrw_longlist=".g:netrw_longlist) endfun " --------------------------------------------------------------------- +" NetSaveWordPosn: used by the "s" command in both remote and local +" browsing. Along with NetRestoreWordPosn(), it keeps the cursor on +" the same word even though the sorting has changed its order of appearance. +fun! s:NetSaveWordPosn() +" call Dfunc("NetSaveWordPosn()") + let s:netrw_saveword= '^'.escape(getline("."),s:netrw_cd_escape).'$' +" call Dret("NetSaveWordPosn : saveword<".s:netrw_saveword.">") +endfun + +" --------------------------------------------------------------------- +" NetRestoreWordPosn: used by the "s" command; see NetSaveWordPosn() above +fun! s:NetRestoreWordPosn() +" call Dfunc("NetRestoreWordPosn()") + silent! call search(s:netrw_saveword,'w') +" call Dret("NetRestoreWordPosn") +endfun + +" --------------------------------------------------------------------- " NetMakeDir: this function makes a directory (both local and remote) fun! <SID>NetMakeDir(usrhost) " call Dfunc("NetMakeDir(usrhost<".a:usrhost.">)") @@ -1423,31 +1648,45 @@ fun! <SID>NetMakeDir(usrhost) call inputsave() let newdirname= input("Please give directory name: ") call inputrestore() +" call Decho("newdirname<".newdirname.">") if newdirname == "" " call Dret("NetMakeDir : user aborted with bare <cr>") return endif - let newdirname= escape(newdirname,' ') if a:usrhost == "" " Local mkdir: " sanity checks - if isdirectory(newdirname) + let fullnewdir= b:netrw_curdir.'/'.newdirname +" call Decho("fullnewdir<".fullnewdir.">") + if isdirectory(fullnewdir) echoerr "***warning*** <".newdirname."> is already a directory!" " call Dret("NetMakeDir : directory<".newdirname."> exists previously") return endif - if filereadable(newdirname) + if filereadable(fullnewdir) echoerr "***warning*** <".newdirname."> is already a file!" " call Dret("NetMakeDir : file<".newdirname."> exists previously") return endif - exe "silent! !".g:netrw_local_mkdir." ".newdirname + let netrw_origdir= s:NetGetcwd(1) + exe 'cd '.b:netrw_curdir +" call Decho("netrw_origdir<".netrw_origdir."> b:netrw_curdir<".b:netrw_curdir.">") +" call Decho("exe silent! !".g:netrw_local_mkdir.' "'.newdirname.'"') + exe "silent! !".g:netrw_local_mkdir.' "'.newdirname.'"' + if g:netrw_keepdir | exe 'keepjumps cd '.netrw_origdir | endif + if v:shell_error == 0 " refresh listing - call s:LocalBrowse(".") +" call Decho("refresh listing") + let linenum= line(".") + norm! H0 + let hline = line(".") + call s:LocalBrowse(s:LocalBrowseChgDir(b:netrw_curdir,'./')) + exe "norm! ".hline."G0z\<CR>" + exe linenum else echoerr "***warning*** unable to make directory<".newdirname.">" endif @@ -1456,12 +1695,17 @@ fun! <SID>NetMakeDir(usrhost) else " Remote mkdir: let mkdircmd = substitute(g:netrw_mkdir_cmd,'\<HOSTNAME\>',a:usrhost,'') - let newdirname= substitute(expand("%"),'^\%(.\{-}/\)\{3}\(.*\)$','\1','').newdirname + let newdirname= "'".'"'.substitute(expand("%"),'^\%(.\{-}/\)\{3}\(.*\)$','\1','').newdirname.'"'."'" " call Decho("exe silent! !".mkdircmd." ".newdirname) exe "silent! !".mkdircmd." ".newdirname if v:shell_error == 0 " refresh listing + let linenum= line(".") + norm! H0 + let hline = line(".") call s:NetBrowse(s:NetBrowseChgDir(expand("%"),'./')) + exe "norm! ".hline."G0z\<CR>" + exe linenum else echoerr "***warning*** unable to make directory<".newdirname.">" endif @@ -1472,6 +1716,46 @@ fun! <SID>NetMakeDir(usrhost) endfun " --------------------------------------------------------------------- +" NetBookmarkDir: +" 0: bookmark the current directory +" 1: change to the bookmarked directory +fun! <SID>NetBookmarkDir(chg,curdir) +" call Dfunc("NetBookmarkDir(chg=".a:chg." curdir<".a:curdir.">) cnt=".v:count) + + if a:chg == 0 + " bookmark the current directory + let s:netrw_bookmarkdir_{v:count}= a:curdir + if !exists("s:bookmarkmax") + let s:bookmarkmax= v:count + elseif v:count > s:bookmarkmax + let s:bookmarkmax= v:count + endif + + elseif a:chg == 1 + " change to the bookmarked directory + if exists("s:netrw_bookmarkdir_{v:count}") + exe "e ".s:netrw_bookmarkdir_{v:count} + else + echomsg "Sorry, bookmark#".v:count." doesn't exist!" + endif + + elseif exists("s:bookmarkmax") + " list bookmarks +" call Decho("list bookmarks [0,".s:bookmarkmax."]") + let cnt= 0 + while cnt <= s:bookmarkmax + if exists("s:netrw_bookmarkdir_{cnt}") + echo "Netrw Bookmark#".cnt.": ".s:netrw_bookmarkdir_{cnt} +" call Decho("Netrw Bookmark#".cnt.": ".s:netrw_bookmarkdir_{cnt}) + endif + let cnt= cnt + 1 + endwhile + endif +" call Dret("NetBookmarkDir") +endfun + + +" --------------------------------------------------------------------- " Browsing Support For Local Directories And Files: {{{1 " --------------------------------------------------------------------- @@ -1484,131 +1768,154 @@ fun! <SID>LocalBrowse(dirname) return endif -" " unfortunate interaction -- when putting Dfunc/Dret above - " one can no longer enter the DBG buffer. -" call Dfunc("LocalBrowse(dirname<".a:dirname.">)") + " unfortunate interaction -- when putting debugging calls + " above one can no longer enter the DBG buffer. +" call Dfunc("LocalBrowse(dirname<".a:dirname.">) buf#".bufnr("%")." winnr=".winnr()) +" call Decho("winbufnr1=".winbufnr(1)." winbufnr2=".winbufnr(2)." winbufnr3=".winbufnr(3)) +" call Dredir("ls!") - exe 'cd '.escape(substitute(a:dirname,'\\','/','ge'),' ') - let dirname= substitute(getcwd(),'\\','/','ge')."/" -" call Decho("dirname<".dirname.">") + if v:version < 603 + echoerr "vim version<".v:version."> too old for browsing with netrw" +" call Dret("LocalBrowse : vim version<".v:version."> too old") + return + endif + + " record and change current directory + let netrw_origdir= s:NetGetcwd(1) + exe 'cd '.escape(substitute(a:dirname,'\\','/','ge'),s:netrw_cd_escape) + let dirname= s:NetGetcwd(0) +" call Decho("dirname<".dirname."> buf#".bufnr("%")." winnr=".winnr()) " make this buffer modifiable setlocal ma - " --------------------------------------------------------------------- + " --------------------------- " Perform Directory Listing: " call Decho("Perform directory listing...") " set up new buffer and map - let dirnamenr = bufnr(dirname) - if dirnamenr != -1 && bufname(dirnamenr) != dirname - " try removing the trailing "/" - let dirnamenr= bufnr(substitute(dirname,'/$','','e')) + " remove the trailing "/" + let dirnamens= substitute(dirname,'/$','','e') + let dirnamenr= bufnr(dirnamens.'$') +" call Decho("dirnamenr= bufnr(".dirnamens.")=".dirnamenr) + + if dirnamenr != 0 && bufname(dirnamenr) != dirnamens + " try keeping the trailing slash + let dirnamenr = bufnr(dirname.'$') +" call Decho("retry: dirnamenr= bufnr(".dirname.")=".dirnamenr) endif " call Decho("bufnr(dirname<".dirname.">)=".dirnamenr) -" call Dredir("file") - if dirnamenr != -1 && bufexists(dirname) + if dirnamenr != -1 " buffer already exists (hidden), so switch to it! -" call Dredir("file") +" call Decho("buffer already exists: dirnamenr=".dirnamenr." dirname<".dirname."> pre-exists") +" call Dredir("ls!") exe "b ".dirnamenr -" call Dredir("file") - exe 'cd '.escape(substitute(a:dirname,'\\','/','ge'),' ') -" call Dredir("file") + exe 'silent! cd '.escape(substitute(a:dirname,'\\','/','ge'),s:netrw_cd_escape) " call Decho("changed directory to<".dirname.">") -" call Dredir("file") if a:dirname != "." && line("$") >= 5 -" call Dret("LocalBrowse : buffer already exists with info") +" call Dret("LocalBrowse : buffer already exists with info, #".dirnamenr) + if g:netrw_keepdir | exe 'keepjumps cd '.netrw_origdir | endif return endif -" call Dredir("file") " call Decho("buffer already exists, but needs listing (buf#".dirnamenr.")") + setlocal ma keepjumps %d -" call Dredir("file") - if expand("%:p") != escape(dirname,' ') - exe 'silent! file '.escape(dirname,' ') -" call Decho("renamed file to<".escape(dirname,' ').">") + if expand("%:p") != dirname + exe 'silent! file '.escape(dirname,s:netrw_cd_escape) +" call Decho("renamed file to<".escape(dirname,' #').">") endif -" call Dredir("file") else -" call Dredir("ls!") -" call Decho("generate new buffer named<".escape(dirname,' ').">") +" call Decho("generate new buffer named<".escape(dirname,' #').">") silent! enew! - exe 'silent! file '.escape(dirname,' ') -" call Decho("renamed file to<".escape(dirname,' ').">") + exe 'silent! file '.substitute(escape(dirname,s:netrw_cd_escape),'/$','','e') +" call Decho("renamed file to<".escape(dirname,s:netrw_cd_escape).">") endif " set standard browser options on buffer setlocal ts=32 bt=nowrite bh=hide nobl " set up all the maps " call Decho("Setting up local browser maps") - nnoremap <buffer> <silent> <cr> :exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),<SID>NetGetDir()))<cr> - nnoremap <buffer> <silent> <c-l> :exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),'./'))<cr> - nnoremap <buffer> <silent> - :exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),'../'))<cr> - nnoremap <buffer> <silent> a :let g:netrw_hide=!g:netrw_hide<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),'./'))<cr> - nnoremap <buffer> <silent> <Leader>h :call <SID>NetHideEdit(1)<cr> - nnoremap <buffer> <silent> <Leader>m :call <SID>NetMakeDir("")<cr> + let b:netrw_curdir= s:NetGetcwd(1) + nnoremap <buffer> <silent> <cr> :exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord()))<cr> + nnoremap <buffer> <silent> <c-l> :exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'./'))<cr> + nnoremap <buffer> <silent> - :exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'../'))<cr> + nnoremap <buffer> <silent> a :let g:netrw_hide=!g:netrw_hide<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'./'))<cr> + nnoremap <buffer> <silent> b :<c-u>call <SID>NetBookmarkDir(0,b:netrw_curdir)<cr> + nnoremap <buffer> <silent> B :<c-u>call <SID>NetBookmarkDir(1,b:netrw_curdir)<cr> + nnoremap <buffer> <silent> c :exe "cd ".b:netrw_curdir<cr> + nnoremap <buffer> <silent> d :call <SID>NetMakeDir("")<cr> + nnoremap <buffer> <silent> <c-h> :call <SID>NetHideEdit(1)<cr> nnoremap <buffer> <silent> i :call <SID>NetLongList(1)<cr> - nnoremap <buffer> <silent> o :exe g:netrw_winsize."wincmd s"<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),<SID>NetGetDir()))<cr> - nnoremap <buffer> <silent> r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),<SID>NetGetDir()))<cr> - nnoremap <buffer> <silent> s :let g:netrw_sort_by= (g:netrw_sort_by =~ 'n')? 'time' : (g:netrw_sort_by =~ 't')? 'size' : 'name'<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),'./'))<cr> - nnoremap <buffer> <silent> v :exe g:netrw_winsize."wincmd v"<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),<SID>NetGetDir()))<cr> - nnoremap <buffer> <silent> x :exe "norm! 0"<bar>call <SID>NetBrowseX(<SID>LocalBrowseChgDir(getcwd(),<SID>NetGetDir()),0)<cr> - nnoremap <buffer> <silent> <2-leftmouse> :exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(getcwd(),<SID>NetGetDir()))<cr> - exe 'nnoremap <buffer> <silent> <del> :exe "norm! 0"<bar>call <SID>LocalBrowseRm("'.getcwd().'/")<cr>' - exe 'vnoremap <buffer> <silent> <del> :call <SID>LocalBrowseRm("'.getcwd().'/")<cr>' - exe 'nnoremap <buffer> <silent> D :exe "norm! 0"<bar>call <SID>LocalBrowseRm("'.getcwd().'/")<cr>' - exe 'vnoremap <buffer> <silent> D :call <SID>LocalBrowseRm("'.getcwd().'/")<cr>' - exe 'nnoremap <buffer> <silent> R :exe "norm! 0"<bar>call <SID>LocalBrowseRename("'.getcwd().'/")<cr>' - exe 'vnoremap <buffer> <silent> R :call <SID>LocalBrowseRename("'.getcwd().'/")<cr>' + nnoremap <buffer> <silent> o :exe g:netrw_winsize."wincmd s"<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord()))<cr> + nnoremap <buffer> <silent> q :<c-u>call <SID>NetBookmarkDir(2,b:netrw_curdir)<cr> + nnoremap <buffer> <silent> r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'./'))<cr> + nnoremap <buffer> <silent> s :call <SID>NetSaveWordPosn()<bar>let g:netrw_sort_by= (g:netrw_sort_by =~ 'n')? 'time' : (g:netrw_sort_by =~ 't')? 'size' : 'name'<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'./'))<bar>call <SID>NetRestoreWordPosn()<cr> + nnoremap <buffer> <silent> S :call <SID>NetSortSequence(1)<cr> + nnoremap <buffer> <silent> v :exe g:netrw_winsize."wincmd v"<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord()))<cr> + nnoremap <buffer> <silent> x :exe "norm! 0"<bar>call <SID>NetBrowseX(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord(),0),0)<cr> + nnoremap <buffer> <silent> <2-leftmouse> :exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord()))<cr> + exe 'nnoremap <buffer> <silent> <del> :exe "norm! 0"<bar>call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>' + exe 'vnoremap <buffer> <silent> <del> :call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>' + exe 'nnoremap <buffer> <silent> D :exe "norm! 0"<bar>call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>' + exe 'vnoremap <buffer> <silent> D :call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>' + exe 'nnoremap <buffer> <silent> R :exe "norm! 0"<bar>call <SID>LocalBrowseRename("'.b:netrw_curdir.'")<cr>' + exe 'vnoremap <buffer> <silent> R :call <SID>LocalBrowseRename("'.b:netrw_curdir.'")<cr>' exe 'nnoremap <buffer> <silent> <Leader>m :call <SID>NetMakeDir("")<cr>' nnoremap <buffer> ? :he netrw-dir<cr> " Set up the banner " call Decho("set up banner") - keepjumps put ='\" =================' + keepjumps put ='\" ============================================================================' keepjumps 1d - keepjumps put ='\" Directory Listing' + keepjumps put ='\" Directory Listing (netrw '.g:loaded_netrw.')' keepjumps put ='\" '.dirname - let g:netrw_bannercnt= 6 + let s:netrw_bannercnt= 7 + + let sortby= g:netrw_sort_by + if g:netrw_sort_direction =~ "^r" + let sortby= sortby." reversed" + endif if g:netrw_sort_by =~ "^n" " call Decho("directories will be sorted by name") " sorted by name - let g:netrw_bannercnt= g:netrw_bannercnt + 1 - keepjumps put ='\" Sorted by '.g:netrw_sort_by + let s:netrw_bannercnt= s:netrw_bannercnt + 1 + keepjumps put ='\" Sorted by '.sortby keepjumps put ='\" Sort sequence: '.g:netrw_sort_sequence else " call Decho("directories will be sorted by size or date") " sorted by size or date - keepjumps put ='\" Sorted by '.g:netrw_sort_by + keepjumps put ='\" Sorted by '.sortby endif if g:netrw_list_hide != "" && g:netrw_hide keepjumps put ='\" Hiding: '.g:netrw_list_hide - let g:netrw_bannercnt= g:netrw_bannercnt + 1 + let s:netrw_bannercnt= s:netrw_bannercnt + 1 endif - keepjumps put ='\" =================' + keepjumps put ='\" Quick Help: ?:help -:go up dir D:delete R:rename s:sort-by x:exec' + keepjumps put ='\" ============================================================================' " generate the requested directory listing call LocalBrowseList(dirname) " manipulate the directory listing (hide, sort) setlocal ft=netrwlist - if line("$") >= g:netrw_bannercnt + if line("$") >= s:netrw_bannercnt if g:netrw_hide && g:netrw_list_hide != "" call s:NetrwListHide() endif if g:netrw_sort_by =~ "^n" call s:SetSort() - exe 'keepjumps silent '.g:netrw_bannercnt.',$call s:NetSort()' - exe 'keepjumps silent '.g:netrw_bannercnt.',$s/^\d\{3}\///e' + exe 'keepjumps silent '.s:netrw_bannercnt.',$call s:NetSort()' + exe 'keepjumps silent '.s:netrw_bannercnt.',$s/^\d\{3}\///e' else - exe 'keepjumps silent '.g:netrw_bannercnt.',$call s:NetSort()' - exe 'keepjumps silent '.g:netrw_bannercnt.',$s/^\d\{-}\///e' + exe 'keepjumps silent '.s:netrw_bannercnt.',$call s:NetSort()' + exe 'keepjumps silent '.s:netrw_bannercnt.',$s/^\d\{-}\///e' endif endif - exe g:netrw_bannercnt + exe s:netrw_bannercnt setlocal noma nomod + if g:netrw_keepdir | exe 'keepjumps cd '.netrw_origdir | endif " call Dret("LocalBrowse : file<".expand("%:p").">") endfun @@ -1618,8 +1925,15 @@ endfun fun! LocalBrowseList(dirname) " call Dfunc("LocalBrowseList(dirname<".a:dirname.">)") + let dirname = escape(a:dirname,s:netrw_glob_escape) let dirnamelen = strlen(a:dirname) - let filelist = glob(a:dirname."*")."\n".glob(a:dirname.".*") + let filelist = glob(dirname."*") + if filelist != "" + let filelist= filelist."\n" + endif + let filelist= filelist.glob(dirname.".*") +" call Decho("dirname<".dirname.">") +" call Decho("dirnamelen<".dirnamelen.">") " call Decho("filelist<".filelist.">") while filelist != "" @@ -1640,24 +1954,29 @@ fun! LocalBrowseList(dirname) let fsz = strpart(" ",1,15-strlen(sz)).sz let pfile= pfile."\t".fsz." ".strftime(g:netrw_timefmt,getftime(file)) endif + if g:netrw_sort_by =~ "^t" " sort by time (handles time up to 1 quintillion seconds, US) " call Decho("getftime(".file.")=".getftime(file)) let t = getftime(file) let ft = strpart("000000000000000000",1,18-strlen(t)).t " call Decho("exe keepjumps put ='".ft.'/'.file."'") - exe "keepjumps put ='".ft.'/'.pfile."'" + let ftpfile= ft.'/'.pfile + keepjumps put=ftpfile + elseif g:netrw_sort_by =~ "^s" " sort by size (handles file sizes up to 1 quintillion bytes, US) " call Decho("getfsize(".file.")=".getfsize(file)) let sz = getfsize(file) let fsz = strpart("000000000000000000",1,18-strlen(sz)).sz " call Decho("exe keepjumps put ='".fsz.'/'.file."'") - exe "keepjumps put ='".fsz.'/'.pfile."'" + let fszpfile= fsz.'/'.pfile + keepjumps put =fszpfile + else " sort by name -" call Decho("exe keepjumps put ='".file."'") - exe "keepjumps put ='".pfile."'" +" call Decho("exe keepjumps put ='".pfile."'") + keepjumps put=pfile endif endwhile @@ -1667,10 +1986,10 @@ endfun " --------------------------------------------------------------------- " LocalBrowseChgDir: constructs a new directory based on the current {{{2 " directory and a new directory name -fun! <SID>LocalBrowseChgDir(dirname,newdir) -" call Dfunc("LocalBrowseChgDir(dirname<".a:dirname."> newdir<".a:newdir.">)") +fun! <SID>LocalBrowseChgDir(dirname,newdir,...) +" call Dfunc("LocalBrowseChgDir(dirname<".a:dirname."> newdir<".a:newdir.">) a:0=".a:0) - let dirname= substitute(a:dirname,'\\','/','ge') + let dirname= substitute(a:dirname,'\\','','ge') let newdir = a:newdir if dirname !~ '/$' @@ -1684,7 +2003,10 @@ fun! <SID>LocalBrowseChgDir(dirname,newdir) " handling a file let dirname= dirname.newdir " call Decho("handling a file: dirname<".dirname.">") - exe "e ".dirname + " this lets NetBrowseX avoid the edit + if a:0 < 1 + exe "e ".escape(dirname,s:netrw_cd_escape) + endif elseif newdir == './' " refresh the directory list @@ -1714,14 +2036,28 @@ fun! <SID>LocalBrowseRm(path) range " call Decho("firstline=".a:firstline." lastline=".a:lastline) " preparation for removing multiple files/directories - let ctr= a:firstline + let ctr = a:firstline + let ret = 0 + let netrw_origdir = s:NetGetcwd(1) + exe 'cd '.b:netrw_curdir " remove multiple files and directories while ctr <= a:lastline - exe ctr + exe "keepjumps ".ctr + + " sanity checks + if line(".") < s:netrw_bannercnt + let ctr= ctr + 1 + continue + endif + let curword= s:NetGetWord() + if curword == "./" || curword == "../" + let ctr= ctr + 1 + continue + endif norm! 0 - let rmfile= a:path.s:NetGetDir() + let rmfile= a:path.curword " call Decho("rmfile<".rmfile.">") if rmfile !~ '^"' && (rmfile =~ '@$' || rmfile !~ '/$') @@ -1730,8 +2066,8 @@ fun! <SID>LocalBrowseRm(path) range let ok= input("Confirm deletion of file<".rmfile."> ","y") call inputrestore() if ok == "y" - call delete(rmfile) -" call Decho("errcode=".v:shell_error) + let ret= delete(rmfile) +" call Decho("errcode=".v:shell_error." ret=".ret) endif else @@ -1739,10 +2075,11 @@ fun! <SID>LocalBrowseRm(path) range call inputsave() let ok= input("Confirm deletion of directory<".rmfile."> ","y") call inputrestore() - let rmfile= escape(substitute(rmfile,'/$','','e'),' ') + let rmfile= substitute(rmfile,'/$','','e') if ok == "y" - call system(g:netrw_local_rmdir." ".rmfile) +" call Decho("1st attempt: system(".g:netrw_local_rmdir.' "'.rmfile.'")') + call system(g:netrw_local_rmdir.' "'.rmfile.'"') " call Decho("v:shell_error=".v:shell_error) if v:shell_error != 0 @@ -1769,9 +2106,10 @@ fun! <SID>LocalBrowseRm(path) range endwhile " refresh the directory - let curline= line(".")-1 + let curline= line(".") + if g:netrw_keepdir | exe 'keepjumps cd '.netrw_origdir | endif " call Decho("refresh the directory") - call <SID>LocalBrowse(<SID>LocalBrowseChgDir(expand("%"),'./')) + call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'./')) exe curline " call Dret("LocalBrowseRm") @@ -1789,15 +2127,26 @@ fun! <SID>LocalBrowseRename(path) range while ctr <= a:lastline exe "keepjumps ".ctr + " sanity checks + if line(".") < s:netrw_bannercnt + let ctr= ctr + 1 + continue + endif + let curword= s:NetGetWord() + if curword == "./" || curword == "../" + let ctr= ctr + 1 + continue + endif + norm! 0 - let oldname= a:path.s:NetGetDir() + let oldname= a:path.curword " call Decho("oldname<".oldname.">") call inputsave() - let newname= input("Moving ".oldname." to : ",oldname) + let newname= input("Moving ".oldname." to : ",substitute(oldname,'/*$','','e')) call inputrestore() - let ret= system(g:netrw_local_rename." ".oldname." ".newname) + let ret= system(g:netrw_local_rename.' "'.oldname.'" "'.newname.'"') " call Decho("executing system(".g:netrw_local_rename." ".oldname." ".newname) let ctr= ctr + 1 @@ -1806,12 +2155,29 @@ fun! <SID>LocalBrowseRename(path) range " refresh the directory let curline= line(".") " call Decho("refresh the directory listing") - call <SID>LocalBrowse(<SID>LocalBrowseChgDir(expand("%"),'./')) + call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'./')) exe "keepjumps ".curline " call Dret("LocalBrowseRename") endfun " --------------------------------------------------------------------- +" NetGetcwd: get the current directory. +" Change backslashes to forward slashes, if any. +" If doesc is true, escape certain troublesome characters +fun! <SID>NetGetcwd(doesc) +" call Dfunc("NetGetcwd(doesc=".a:doesc.")") + let curdir= substitute(getcwd(),'\\','/','ge') + if curdir !~ '/$' + let curdir= curdir.'/' + endif + if a:doesc + let curdir= escape(curdir,s:netrw_cd_escape) + endif +" call Dret("NetGetcwd <".curdir.">") + return curdir +endfun + +" --------------------------------------------------------------------- " NetMethod: determine method of transfer {{{1 " method == 1: rcp " 2: ftp + <.netrc> @@ -1982,7 +2348,7 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname if userid != "" let g:netrw_uid= userid endif - if has("win32") + if has("win32") || has("win95") || has("win64") || has("win16") " don't let PCs try <.netrc> let b:netrw_method = 3 endif @@ -2005,7 +2371,6 @@ fun! s:NetMethod(choice) " globals: method machine id passwd fname " call Decho("b:netrw_fname <".b:netrw_fname.">") " call Dret("NetMethod") endfun -" end of NetMethod " ------------------------------------------------------------------------ " NetUserPass: set username and password for subsequent ftp transfer {{{1 @@ -2036,7 +2401,6 @@ fun! NetUserPass(...) endif " call Dret("NetUserPass") endfun -" end NetUserPass " ------------------------------------------------------------------------ " NetOptionSave: save options and set to "standard" form {{{1 @@ -2163,7 +2527,7 @@ endfun " "files" that satisfy each pattern, putting the priority / in " front. An "*" pattern handles the default priority. fun! <SID>SetSort() -" call Dfunc("SetSort() bannercnt=".g:netrw_bannercnt) +" call Dfunc("SetSort() bannercnt=".s:netrw_bannercnt) if g:netrw_longlist let seqlist = substitute(g:netrw_sort_sequence,'\$','\\%(\t\\|\$\\)','ge') else @@ -2195,14 +2559,14 @@ fun! <SID>SetSort() " call Decho("priority=".priority." spriority<".spriority."> seq<".seq."> seqlist<".seqlist.">") if seq == '*' - exe 'keepjumps silent '.g:netrw_bannercnt.',$v/^\d\{3}\//s/^/'.spriority.'/' + exe 'keepjumps silent '.s:netrw_bannercnt.',$v/^\d\{3}\//s/^/'.spriority.'/' else - exe 'keepjumps silent '.g:netrw_bannercnt.',$g/'.eseq.'/s/^/'.spriority.'/' + exe 'keepjumps silent '.s:netrw_bannercnt.',$g/'.eseq.'/s/^/'.spriority.'/' endif let priority = priority + 1 endwhile - exe 'keepjumps silent '.g:netrw_bannercnt.',$s/^\(\d\{3}\/\)\%(\d\{3}\/\)\+/\1/e' + exe 'keepjumps silent '.s:netrw_bannercnt.',$s/^\(\d\{3}\/\)\%(\d\{3}\/\)\+/\1/e' " call Dret("SetSort") endfun diff --git a/runtime/scripts.vim b/runtime/scripts.vim index 1b506b3f6..07d04ff07 100644 --- a/runtime/scripts.vim +++ b/runtime/scripts.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types in scripts " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last change: 2004 Apr 18 +" Last change: 2004 Sep 02 " This file is called by an autocommand for every file that has just been " loaded into a buffer. It checks if the type of file can be recognized by @@ -50,8 +50,8 @@ if s:line1 =~ "^#!" let s:name = substitute(s:line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '') endif - " Bourne-like shell scripts: sh ksh bash bash2 - if s:name =~ '^\(bash\|bash2\|ksh\|sh\)\>' + " Bourne-like shell scripts: bash bash2 ksh ksh93 sh + if s:name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>' call SetFileTypeSH(s:line1) " defined in filetype.vim " csh scripts @@ -219,7 +219,7 @@ else set ft=rcslog " CVS commit - elseif s:line2 =~ '^CVS:' + elseif s:line2 =~ '^CVS:' || getline("$") =~ '^CVS: ' set ft=cvs " Send-pr diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim index f6e5823b3..089a6fefd 100644 --- a/runtime/synmenu.vim +++ b/runtime/synmenu.vim @@ -32,52 +32,53 @@ endfun " The Start Of The Syntax Menu an 50.10.100 &Syntax.AB.Aap :cal SetSyn("aap")<CR> -an 50.10.110 &Syntax.AB.Abaqus :cal SetSyn("abaqus")<CR> -an 50.10.120 &Syntax.AB.ABC\ music\ notation :cal SetSyn("abc")<CR> -an 50.10.130 &Syntax.AB.ABEL :cal SetSyn("abel")<CR> -an 50.10.140 &Syntax.AB.AceDB\ model :cal SetSyn("acedb")<CR> -an 50.10.150 &Syntax.AB.Ada :cal SetSyn("ada")<CR> -an 50.10.160 &Syntax.AB.AfLex :cal SetSyn("aflex")<CR> -an 50.10.170 &Syntax.AB.Altera\ AHDL :cal SetSyn("ahdl")<CR> -an 50.10.180 &Syntax.AB.Amiga\ DOS :cal SetSyn("amiga")<CR> -an 50.10.190 &Syntax.AB.AMPL :cal SetSyn("ampl")<CR> -an 50.10.200 &Syntax.AB.Ant\ build\ file :cal SetSyn("ant")<CR> -an 50.10.210 &Syntax.AB.ANTLR :cal SetSyn("antlr")<CR> -an 50.10.220 &Syntax.AB.Apache\ config :cal SetSyn("apache")<CR> -an 50.10.230 &Syntax.AB.Apache-style\ config :cal SetSyn("apachestyle")<CR> -an 50.10.240 &Syntax.AB.Applix\ ELF :cal SetSyn("elf")<CR> -an 50.10.250 &Syntax.AB.Arc\ Macro\ Language :cal SetSyn("aml")<CR> -an 50.10.260 &Syntax.AB.Arch\ inventory :cal SetSyn("arch")<CR> -an 50.10.270 &Syntax.AB.ART :cal SetSyn("art")<CR> -an 50.10.280 &Syntax.AB.ASP\ with\ VBScript :cal SetSyn("aspvbs")<CR> -an 50.10.290 &Syntax.AB.ASP\ with\ Perl :cal SetSyn("aspperl")<CR> -an 50.10.300 &Syntax.AB.Assembly.680x0 :cal SetSyn("asm68k")<CR> -an 50.10.310 &Syntax.AB.Assembly.Flat :cal SetSyn("fasm")<CR> -an 50.10.320 &Syntax.AB.Assembly.GNU :cal SetSyn("asm")<CR> -an 50.10.330 &Syntax.AB.Assembly.GNU\ H-8300 :cal SetSyn("asmh8300")<CR> -an 50.10.340 &Syntax.AB.Assembly.Intel\ IA-64 :cal SetSyn("ia64")<CR> -an 50.10.350 &Syntax.AB.Assembly.Microsoft :cal SetSyn("masm")<CR> -an 50.10.360 &Syntax.AB.Assembly.Netwide :cal SetSyn("nasm")<CR> -an 50.10.370 &Syntax.AB.Assembly.PIC :cal SetSyn("pic")<CR> -an 50.10.380 &Syntax.AB.Assembly.Turbo :cal SetSyn("tasm")<CR> -an 50.10.390 &Syntax.AB.Assembly.VAX\ Macro\ Assembly :cal SetSyn("vmasm")<CR> -an 50.10.400 &Syntax.AB.Assembly.Z-80 :cal SetSyn("z8a")<CR> -an 50.10.410 &Syntax.AB.Assembly.xa\ 6502\ cross\ assember :cal SetSyn("a65")<CR> -an 50.10.420 &Syntax.AB.ASN\.1 :cal SetSyn("asn")<CR> -an 50.10.430 &Syntax.AB.Atlas :cal SetSyn("atlas")<CR> -an 50.10.440 &Syntax.AB.Automake :cal SetSyn("automake")<CR> -an 50.10.450 &Syntax.AB.Avenue :cal SetSyn("ave")<CR> -an 50.10.460 &Syntax.AB.Awk :cal SetSyn("awk")<CR> -an 50.10.470 &Syntax.AB.AYacc :cal SetSyn("ayacc")<CR> -an 50.10.490 &Syntax.AB.B :cal SetSyn("b")<CR> -an 50.10.500 &Syntax.AB.Baan :cal SetSyn("baan")<CR> -an 50.10.510 &Syntax.AB.BASIC :cal SetSyn("basic")<CR> -an 50.10.520 &Syntax.AB.BC\ calculator :cal SetSyn("bc")<CR> -an 50.10.530 &Syntax.AB.BDF\ font :cal SetSyn("bdf")<CR> -an 50.10.540 &Syntax.AB.BibTeX :cal SetSyn("bib")<CR> -an 50.10.550 &Syntax.AB.BIND.BIND\ config :cal SetSyn("named")<CR> -an 50.10.560 &Syntax.AB.BIND.BIND\ zone :cal SetSyn("bindzone")<CR> -an 50.10.570 &Syntax.AB.Blank :cal SetSyn("blank")<CR> +an 50.10.110 &Syntax.AB.ABAP/4 :cal SetSyn("abap")<CR> +an 50.10.120 &Syntax.AB.Abaqus :cal SetSyn("abaqus")<CR> +an 50.10.130 &Syntax.AB.ABC\ music\ notation :cal SetSyn("abc")<CR> +an 50.10.140 &Syntax.AB.ABEL :cal SetSyn("abel")<CR> +an 50.10.150 &Syntax.AB.AceDB\ model :cal SetSyn("acedb")<CR> +an 50.10.160 &Syntax.AB.Ada :cal SetSyn("ada")<CR> +an 50.10.170 &Syntax.AB.AfLex :cal SetSyn("aflex")<CR> +an 50.10.180 &Syntax.AB.Altera\ AHDL :cal SetSyn("ahdl")<CR> +an 50.10.190 &Syntax.AB.Amiga\ DOS :cal SetSyn("amiga")<CR> +an 50.10.200 &Syntax.AB.AMPL :cal SetSyn("ampl")<CR> +an 50.10.210 &Syntax.AB.Ant\ build\ file :cal SetSyn("ant")<CR> +an 50.10.220 &Syntax.AB.ANTLR :cal SetSyn("antlr")<CR> +an 50.10.230 &Syntax.AB.Apache\ config :cal SetSyn("apache")<CR> +an 50.10.240 &Syntax.AB.Apache-style\ config :cal SetSyn("apachestyle")<CR> +an 50.10.250 &Syntax.AB.Applix\ ELF :cal SetSyn("elf")<CR> +an 50.10.260 &Syntax.AB.Arc\ Macro\ Language :cal SetSyn("aml")<CR> +an 50.10.270 &Syntax.AB.Arch\ inventory :cal SetSyn("arch")<CR> +an 50.10.280 &Syntax.AB.ART :cal SetSyn("art")<CR> +an 50.10.290 &Syntax.AB.ASP\ with\ VBScript :cal SetSyn("aspvbs")<CR> +an 50.10.300 &Syntax.AB.ASP\ with\ Perl :cal SetSyn("aspperl")<CR> +an 50.10.310 &Syntax.AB.Assembly.680x0 :cal SetSyn("asm68k")<CR> +an 50.10.320 &Syntax.AB.Assembly.Flat :cal SetSyn("fasm")<CR> +an 50.10.330 &Syntax.AB.Assembly.GNU :cal SetSyn("asm")<CR> +an 50.10.340 &Syntax.AB.Assembly.GNU\ H-8300 :cal SetSyn("asmh8300")<CR> +an 50.10.350 &Syntax.AB.Assembly.Intel\ IA-64 :cal SetSyn("ia64")<CR> +an 50.10.360 &Syntax.AB.Assembly.Microsoft :cal SetSyn("masm")<CR> +an 50.10.370 &Syntax.AB.Assembly.Netwide :cal SetSyn("nasm")<CR> +an 50.10.380 &Syntax.AB.Assembly.PIC :cal SetSyn("pic")<CR> +an 50.10.390 &Syntax.AB.Assembly.Turbo :cal SetSyn("tasm")<CR> +an 50.10.400 &Syntax.AB.Assembly.VAX\ Macro\ Assembly :cal SetSyn("vmasm")<CR> +an 50.10.410 &Syntax.AB.Assembly.Z-80 :cal SetSyn("z8a")<CR> +an 50.10.420 &Syntax.AB.Assembly.xa\ 6502\ cross\ assember :cal SetSyn("a65")<CR> +an 50.10.430 &Syntax.AB.ASN\.1 :cal SetSyn("asn")<CR> +an 50.10.440 &Syntax.AB.Atlas :cal SetSyn("atlas")<CR> +an 50.10.450 &Syntax.AB.Automake :cal SetSyn("automake")<CR> +an 50.10.460 &Syntax.AB.Avenue :cal SetSyn("ave")<CR> +an 50.10.470 &Syntax.AB.Awk :cal SetSyn("awk")<CR> +an 50.10.480 &Syntax.AB.AYacc :cal SetSyn("ayacc")<CR> +an 50.10.500 &Syntax.AB.B :cal SetSyn("b")<CR> +an 50.10.510 &Syntax.AB.Baan :cal SetSyn("baan")<CR> +an 50.10.520 &Syntax.AB.BASIC :cal SetSyn("basic")<CR> +an 50.10.530 &Syntax.AB.BC\ calculator :cal SetSyn("bc")<CR> +an 50.10.540 &Syntax.AB.BDF\ font :cal SetSyn("bdf")<CR> +an 50.10.550 &Syntax.AB.BibTeX :cal SetSyn("bib")<CR> +an 50.10.560 &Syntax.AB.BIND.BIND\ config :cal SetSyn("named")<CR> +an 50.10.570 &Syntax.AB.BIND.BIND\ zone :cal SetSyn("bindzone")<CR> +an 50.10.580 &Syntax.AB.Blank :cal SetSyn("blank")<CR> an 50.20.100 &Syntax.C.C :cal SetSyn("c")<CR> an 50.20.110 &Syntax.C.C++ :cal SetSyn("cpp")<CR> an 50.20.120 &Syntax.C.C# :cal SetSyn("cs")<CR> @@ -132,12 +133,11 @@ an 50.30.320 &Syntax.DE.Elinks\ config :cal SetSyn("elinks")<CR> an 50.30.330 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt")<CR> an 50.30.340 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd")<CR> an 50.30.350 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang")<CR> -an 50.30.360 &Syntax.DE.ESQL-C :cal SetSyn("esqlc")<CR> -an 50.30.370 &Syntax.DE.Essbase\ script :cal SetSyn("csc")<CR> -an 50.30.380 &Syntax.DE.Eterm\ config :cal SetSyn("eterm")<CR> -an 50.30.390 &Syntax.DE.Exim\ conf :cal SetSyn("exim")<CR> -an 50.30.400 &Syntax.DE.Expect :cal SetSyn("expect")<CR> -an 50.30.410 &Syntax.DE.Exports :cal SetSyn("exports")<CR> +an 50.30.360 &Syntax.DE.Essbase\ script :cal SetSyn("csc")<CR> +an 50.30.370 &Syntax.DE.Eterm\ config :cal SetSyn("eterm")<CR> +an 50.30.380 &Syntax.DE.Exim\ conf :cal SetSyn("exim")<CR> +an 50.30.390 &Syntax.DE.Expect :cal SetSyn("expect")<CR> +an 50.30.400 &Syntax.DE.Exports :cal SetSyn("exports")<CR> an 50.40.100 &Syntax.FG.Fetchmail :cal SetSyn("fetchmail")<CR> an 50.40.110 &Syntax.FG.Focus\ Executable :cal SetSyn("focexec")<CR> an 50.40.120 &Syntax.FG.Focus\ Master :cal SetSyn("master")<CR> @@ -279,24 +279,23 @@ an 50.80.210 &Syntax.PQ.Pike :cal SetSyn("pike")<CR> an 50.80.220 &Syntax.PQ.Pine\ RC :cal SetSyn("pine")<CR> an 50.80.230 &Syntax.PQ.Pinfo\ RC :cal SetSyn("pinfo")<CR> an 50.80.240 &Syntax.PQ.PL/M :cal SetSyn("plm")<CR> -an 50.80.250 &Syntax.PQ.PL/SQL :cal SetSyn("plsql")<CR> -an 50.80.260 &Syntax.PQ.PLP :cal SetSyn("plp")<CR> -an 50.80.270 &Syntax.PQ.PO\ (GNU\ gettext) :cal SetSyn("po")<CR> -an 50.80.280 &Syntax.PQ.Postfix\ main\ config :cal SetSyn("pfmain")<CR> -an 50.80.290 &Syntax.PQ.PostScript.PostScript :cal SetSyn("postscr")<CR> -an 50.80.300 &Syntax.PQ.PostScript.PostScript\ Printer\ Description :cal SetSyn("ppd")<CR> -an 50.80.310 &Syntax.PQ.Povray.Povray\ scene\ descr :cal SetSyn("pov")<CR> -an 50.80.320 &Syntax.PQ.Povray.Povray\ configuration :cal SetSyn("povini")<CR> -an 50.80.330 &Syntax.PQ.Printcap :cal SetSyn("pcap")<CR> -an 50.80.340 &Syntax.PQ.Procmail :cal SetSyn("procmail")<CR> -an 50.80.350 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf")<CR> -an 50.80.360 &Syntax.PQ.Progress :cal SetSyn("progress")<CR> -an 50.80.370 &Syntax.PQ.Prolog :cal SetSyn("prolog")<CR> -an 50.80.380 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog")<CR> -an 50.80.390 &Syntax.PQ.Pyrex :cal SetSyn("pyrex")<CR> -an 50.80.400 &Syntax.PQ.Python :cal SetSyn("python")<CR> -an 50.80.420 &Syntax.PQ.Quake :cal SetSyn("quake")<CR> -an 50.80.430 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf")<CR> +an 50.80.250 &Syntax.PQ.PLP :cal SetSyn("plp")<CR> +an 50.80.260 &Syntax.PQ.PO\ (GNU\ gettext) :cal SetSyn("po")<CR> +an 50.80.270 &Syntax.PQ.Postfix\ main\ config :cal SetSyn("pfmain")<CR> +an 50.80.280 &Syntax.PQ.PostScript.PostScript :cal SetSyn("postscr")<CR> +an 50.80.290 &Syntax.PQ.PostScript.PostScript\ Printer\ Description :cal SetSyn("ppd")<CR> +an 50.80.300 &Syntax.PQ.Povray.Povray\ scene\ descr :cal SetSyn("pov")<CR> +an 50.80.310 &Syntax.PQ.Povray.Povray\ configuration :cal SetSyn("povini")<CR> +an 50.80.320 &Syntax.PQ.Printcap :cal SetSyn("pcap")<CR> +an 50.80.330 &Syntax.PQ.Procmail :cal SetSyn("procmail")<CR> +an 50.80.340 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf")<CR> +an 50.80.350 &Syntax.PQ.Progress :cal SetSyn("progress")<CR> +an 50.80.360 &Syntax.PQ.Prolog :cal SetSyn("prolog")<CR> +an 50.80.370 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog")<CR> +an 50.80.380 &Syntax.PQ.Pyrex :cal SetSyn("pyrex")<CR> +an 50.80.390 &Syntax.PQ.Python :cal SetSyn("python")<CR> +an 50.80.410 &Syntax.PQ.Quake :cal SetSyn("quake")<CR> +an 50.80.420 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf")<CR> an 50.90.100 &Syntax.R-Sg.R :cal SetSyn("r")<CR> an 50.90.110 &Syntax.R-Sg.Radiance :cal SetSyn("radiance")<CR> an 50.90.120 &Syntax.R-Sg.Ratpoison :cal SetSyn("ratpoison")<CR> @@ -363,17 +362,20 @@ an 50.100.370 &Syntax.Sh-S.Spyce :cal SetSyn("spyce")<CR> an 50.100.380 &Syntax.Sh-S.Speedup :cal SetSyn("spup")<CR> an 50.100.390 &Syntax.Sh-S.Splint :cal SetSyn("splint")<CR> an 50.100.400 &Syntax.Sh-S.Squid\ config :cal SetSyn("squid")<CR> -an 50.100.410 &Syntax.Sh-S.SQL.MySQL :cal SetSyn("mysql")<CR> -an 50.100.420 &Syntax.Sh-S.SQL.SQL :cal SetSyn("sql")<CR> -an 50.100.430 &Syntax.Sh-S.SQL.SQL\ Forms :cal SetSyn("sqlforms")<CR> -an 50.100.440 &Syntax.Sh-S.SQL.SQLJ :cal SetSyn("sqlj")<CR> -an 50.100.450 &Syntax.Sh-S.SQR :cal SetSyn("sqr")<CR> -an 50.100.460 &Syntax.Sh-S.Ssh.ssh_config :cal SetSyn("sshconfig")<CR> -an 50.100.470 &Syntax.Sh-S.Ssh.sshd_config :cal SetSyn("sshdconfig")<CR> -an 50.100.480 &Syntax.Sh-S.Standard\ ML :cal SetSyn("sml")<CR> -an 50.100.490 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR> -an 50.100.500 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR> -an 50.100.510 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn")<CR> +an 50.100.410 &Syntax.Sh-S.SQL.ESQL-C :cal SetSyn("esqlc")<CR> +an 50.100.420 &Syntax.Sh-S.SQL.MySQL :cal SetSyn("mysql")<CR> +an 50.100.430 &Syntax.Sh-S.SQL.PL/SQL :cal SetSyn("plsql")<CR> +an 50.100.440 &Syntax.Sh-S.SQL.SQL\ (Oracle) :cal SetSyn("sql")<CR> +an 50.100.450 &Syntax.Sh-S.SQL.SQL\ Forms :cal SetSyn("sqlforms")<CR> +an 50.100.460 &Syntax.Sh-S.SQL.SQLJ :cal SetSyn("sqlj")<CR> +an 50.100.470 &Syntax.Sh-S.SQL.SQL-Informix :cal SetSyn("sqlinformix")<CR> +an 50.100.480 &Syntax.Sh-S.SQR :cal SetSyn("sqr")<CR> +an 50.100.490 &Syntax.Sh-S.Ssh.ssh_config :cal SetSyn("sshconfig")<CR> +an 50.100.500 &Syntax.Sh-S.Ssh.sshd_config :cal SetSyn("sshdconfig")<CR> +an 50.100.510 &Syntax.Sh-S.Standard\ ML :cal SetSyn("sml")<CR> +an 50.100.520 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR> +an 50.100.530 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR> +an 50.100.540 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn")<CR> an 50.110.100 &Syntax.TUV.TADS :cal SetSyn("tads")<CR> an 50.110.110 &Syntax.TUV.Tags :cal SetSyn("tags")<CR> an 50.110.120 &Syntax.TUV.TAK.TAK\ compare :cal SetSyn("takcmp")<CR> diff --git a/runtime/syntax/abap.vim b/runtime/syntax/abap.vim new file mode 100644 index 000000000..2b1229fa2 --- /dev/null +++ b/runtime/syntax/abap.vim @@ -0,0 +1,152 @@ +" Vim ABAP syntax file +" Language: SAP - ABAP/4 +" Revision: 0.8 +" Maintainer: Marius van Wyk <marius@e.co.za> +" Last Change: 2004 Aug 30 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Always ignore case +syn case ignore + +" Symbol Operators +syn match abapSymbolOperator "[+\-/=<>$]" +syn match abapSymbolOperator "\*" +syn match abapSymbolOperator "[<>]=" +syn match abapSymbolOperator "<>" +syn match abapSymbolOperator "\*\*" +syn match abapSymbolOperator "[()]" +syn match abapSymbolOperator "[:,\.]" + +" Literals +syn region abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape +syn match abapStringEscape contained "''" + +syn match abapNumber "-\=\<\d\+\>" +syn region abapHex matchgroup=abapHex start="X'" end="'" + +if version >= 600 + setlocal iskeyword=-,48-57,_,A-Z,a-z +else + set iskeyword=-,48-57,_,A-Z,a-z +endif + +" ABAP statements +syn keyword abapStatement ADD ADD-CORRESPONDING ASSIGN AT AUTHORITY-CHECK +syn keyword abapStatement BACK BREAK-POINT +syn keyword abapStatement CALL CASE CHECK CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY +syn keyword abapStatement DATA DEFINE DELETE DESCRIBE DETAIL DIVIDE DIVIDE-CORRESPONDING DO +syn keyword abapStatement EDITOR-CALL ELSE ELSEIF END-OF-DEFINITION END-OF-PAGE END-OF-SELECTION ENDAT ENDCASE ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDLOOP ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDWHILE EXEC EXPORT EXPORTING EXTRACT +syn keyword abapStatement FETCH FIELD-GROUPS FIELD-SYMBOLS FIELDS FORM FORMAT FREE FUNCTION FUNCTION-POOL +syn keyword abapStatement GENERATE GET +syn keyword abapStatement HIDE +syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INPUT INSERT +syn keyword abapStatement LEAVE LIKE LOAD LOCAL LOOP +syn keyword abapStatement MESSAGE MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY MULTIPLY-CORRESPONDING +syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION +syn keyword abapStatement ON OVERLAY +syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PRINT-CONTROL PROGRAM PROVIDE PUT +syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK +syn keyword abapStatement SCAN SCROLL SEARCH SELECT SELECT-OPTIONS SELECTION-SCREEN SET SHIFT SKIP SORT SPLIT START-OF-SELECTION STATICS STOP SUBMIT SUBTRACT SUBTRACT-CORRESPONDING SUM SUMMARY SUPPRESS SYNTAX-CHECK SYNTAX-TRACE +syn keyword abapStatement TABLES TOP-OF-PAGE TRANSFER TRANSLATE TYPE TYPE-POOL TYPE-POOLS TYPES +syn keyword abapStatement UNPACK UPDATE +syn keyword abapStatement WHEN WHILE WINDOW WRITE + +" More statemets +syn keyword abapStatement OCCURS STRUCTURE OBJECT PROPERTY +syn keyword abapStatement CASTING APPEND RAISING VALUE COLOR +syn keyword abapStatement LINE-SIZE LINE-COUNT MESSAGE-ID +syn keyword abapStatement CHANGING EXCEPTIONS DEFAULT CHECKBOX COMMENT +syn keyword abapStatement ID NUMBER FOR DISPLAY-MODE TITLE OUTPUT + +" More multi-word statements +syn match abapStatement "\(\W\|^\)\(WITH\W\+\(HEADER\W\+LINE\|FRAME\|KEY\)\|WITH\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)NO\W\+STANDARD\W\+PAGE\W\+HEADING\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)IS\W\+INITIAL\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)NO\W\+INTERVALS\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)SEPARATED\W\+BY\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(USING\W\+\(EDIT\W\+MASK\)\|USING\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)\(WHERE\W\+\(LINE\)\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)RADIOBUTTON\W\+GROUP\(\W\|$\)"ms=s+1,me=e-1 +syn match abapStatement "\(\W\|^\)REF\W\+TO\(\W\|$\)"ms=s+1,me=e-1 + +" Special ABAP specific tables: +syn match abapSpecial "\(\W\|^\)\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)\(\W\|$\)"ms=s+1,me=e-1 +syn match abapSpecialTables "\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained +syn match abapSpecial "\(\W\|^\)\w\+-\w\+"ms=s+1 contains=abapSpecialTables + +" Pointer +syn match abapSpecial "<\w\+>" + +" Abap constants: +syn keyword abapSpecial TRUE FALSE NULL SPACE + +" Includes +syn region abapInclude start="include" end="." contains=abapComment + +" Types +syn keyword abapTypes c n i p f d t x + +" Atritmitic operators +syn keyword abapOperator abs sign ceil floor trunc frac acos asin atan cos sin tan +syn keyword abapOperator cosh sinh tanh exp log log10 sqrt + +" String operators +syn keyword abapOperator strlen xstrlen charlen numofchar dbmaxlen + +" Table operators +syn keyword abapOperator lines + +" Table operators (SELECT operators) +syn keyword abapOperator INTO FROM WHERE GROUP BY HAVING ORDER BY SINGLE +syn keyword abapOperator APPENDING CORRESPONDING FIELDS OF TABLE +syn keyword abapOperator LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER UP TO ROWS CONNECTING +syn keyword abapOperator EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN + +" An error? Not strictly... but cannot think of reason this is intended. +syn match abapError "\.\." + +" Comments +syn region abapComment start="^\*" end="$" contains=abapTodo +syn match abapComment "\".*" contains=abapTodo +syn keyword abapTodo contained TODO NOTE + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_abap_syntax_inits") + if version < 508 + let did_abap_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink abapError Error + HiLink abapComment Comment + HiLink abapInclude Include + HiLink abapSpecial Special + HiLink abapSpecialTables PreProc + HiLink abapSymbolOperator abapOperator + HiLink abapOperator Operator + HiLink abapStatement Statement + HiLink abapString String + HiLink abapFloat Float + HiLink abapNumber Number + HiLink abapHex Number + + delcommand HiLink +endif + +let b:current_syntax = "abap" + +" vim: ts=8 sw=2 diff --git a/runtime/syntax/aspvbs.vim b/runtime/syntax/aspvbs.vim index 502791c75..74bf2a15e 100644 --- a/runtime/syntax/aspvbs.vim +++ b/runtime/syntax/aspvbs.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Microsoft VBScript Web Content (ASP) -" Maintainer: Devin Weaver <ktohg@tritarget.com> -" URL: http://tritarget.com/pub/vim/syntax/aspvbs.vim -" Last Change: 2003 Apr 25 +" Maintainer: Devin Weaver <ktohg@tritarget.com> (non-functional) +" URL: http://tritarget.com/pub/vim/syntax/aspvbs.vim (broken) +" Last Change: 2004 Jul 29 " Version: $Revision$ " Thanks to Jay-Jay <vim@jay-jay.net> for a syntax sync hack, hungarian " notation, and extra highlighting. @@ -108,7 +108,7 @@ syn keyword AspVBSMethods contained MoveFile MoveFolder OpenAsTextStream syn keyword AspVBSMethods contained OpenTextFile Raise Read ReadAll ReadLine Remove syn keyword AspVBSMethods contained RemoveAll Skip SkipLine Write WriteBlankLines syn keyword AspVBSMethods contained WriteLine -syn match AspVBSMethods contained "Response\.\S*" +syn match AspVBSMethods contained "Response\.\w*" " Colorize boolean constants: syn keyword AspVBSMethods contained true false diff --git a/runtime/syntax/ch.vim b/runtime/syntax/ch.vim index 2e787c8cc..add739509 100644 --- a/runtime/syntax/ch.vim +++ b/runtime/syntax/ch.vim @@ -2,7 +2,7 @@ " Language: Ch " Maintainer: SoftIntegration, Inc. <info@softintegration.com> " URL: http://www.softintegration.com/download/vim/syntax/ch.vim -" Last change: 2004 May 16 +" Last change: 2004 Sep 01 " Created based on cpp.vim " " Ch is a C/C++ interpreter with many high level extensions @@ -26,7 +26,7 @@ endif " Ch extentions -syn keyword chStatement new delete this +syn keyword chStatement new delete this foreach syn keyword chAccess public private syn keyword chStorageClass __declspec(global) __declspec(local) syn keyword chStructure class diff --git a/runtime/syntax/lex.vim b/runtime/syntax/lex.vim index 25c423ef5..6c6121efc 100644 --- a/runtime/syntax/lex.vim +++ b/runtime/syntax/lex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Lex " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> -" Last Change: Sep 02, 2003 -" Version: 4 +" Last Change: Jul 28, 2004 +" Version: 5 " URL: http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax " " Option: @@ -32,19 +32,22 @@ else endif endif +" --- ========= --- " --- Lex stuff --- +" --- ========= --- "I'd prefer to use lex.* , but it doesn't handle forward definitions yet syn cluster lexListGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatString,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,lexPatCode,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError syn cluster lexListPatCodeGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError " Abbreviations Section -syn region lexAbbrvBlock start="^\([a-zA-Z_]\+\t\|%{\)" end="^%%$"me=e-2 skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment +syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvRegExp syn match lexAbbrv "^%[sx]" contained syn match lexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=lexAbbrv,lexInclude syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=ALLBUT,@lexListGroup syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell +syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained "%% : Patterns {Actions} syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPat,lexPatTag,lexPatComment @@ -81,15 +84,16 @@ hi def link lexSlashQuote lexPat hi def link lexBrace lexPat hi def link lexAbbrvComment lexPatComment -hi def link lexAbbrv SpecialChar hi def link lexAbbrvRegExp Macro +hi def link lexAbbrv SpecialChar hi def link lexCFunctions Function hi def link lexMorePat SpecialChar -hi def link lexPat Function hi def link lexPatComment Comment +hi def link lexPat Function hi def link lexPatString Function hi def link lexPatTag Special hi def link lexSep Delimiter +hi def link lexStartState Statement let b:current_syntax = "lex" diff --git a/runtime/syntax/lhaskell.vim b/runtime/syntax/lhaskell.vim index 250ccfaf2..d6f21ae7c 100644 --- a/runtime/syntax/lhaskell.vim +++ b/runtime/syntax/lhaskell.vim @@ -4,7 +4,7 @@ " \begin{code} \end{code} blocks " Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org> " Original Author: Arthur van Leeuwen <arthurvl@cs.uu.nl> -" Last Change: 2004 May 16 +" Last Change: 2004 Aug 31 " Version: 1.01 " " Thanks to Ian Lynagh for thoughtful comments on initial versions and @@ -82,9 +82,12 @@ endif if b:lhs_markup == "tex" if version < 600 source <sfile>:p:h/tex.vim + set isk+=_ else runtime! syntax/tex.vim unlet b:current_syntax + " Tex.vim removes "_" from 'iskeyword', but we need it for Haskell. + setlocal isk+=_ endif endif diff --git a/runtime/syntax/lua.vim b/runtime/syntax/lua.vim index 0bcda6202..555372836 100644 --- a/runtime/syntax/lua.vim +++ b/runtime/syntax/lua.vim @@ -1,12 +1,10 @@ " Vim syntax file " Language: Lua 4.0 and Lua 5.0 -" Maintainer: Marcus Aurelius Farias <marcuscf@vant.com.br> -" First Author: Carlos Augusto Teixeira Mendes <cmendes@inf.puc-rio.br> -" Last Change: 2003 May 04 +" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br> +" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br> +" Last Change: 2004 Aug 29 " Options: lua_version = 4 or 5 [default] " -" Still has some syncing problems (long [[strings]])... - " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 @@ -37,7 +35,7 @@ syn match luaComment "\%^#!.*" syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement syn match luaError ")" syn match luaError "}" -syn match luaError "\<\(end\|else\|elseif\|then\|until\|in\)\>" +syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>" " Function declaration @@ -80,7 +78,7 @@ if lua_version > 4 endif " Pre processor doesn't exist since Lua 4.0 -" syn match luaPreProc "^\s*$\(debug\|nodebug\|if\|ifnot\|end\|else\|endinput\)\>" +" syn match luaPreProc "^\s*$\%(debug\|nodebug\|if\|ifnot\|end\|else\|endinput\)\>" " Strings syn match luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}" @@ -92,9 +90,9 @@ syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=lu " integer number syn match luaNumber "\<[0-9]\+\>" " floating point number, with dot, optional exponent -syn match luaFloat "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\>" +syn match luaFloat "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>" " floating point number, starting with a dot, optional exponent -syn match luaFloat "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>" +syn match luaFloat "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>" " floating point number, without dot, with exponent syn match luaFloat "\<[0-9]\+e[-+]\=[0-9]\+\>" @@ -129,7 +127,7 @@ else syn keyword luaFunc loadlib loadstring pairs pcall rawequal syn keyword luaFunc require setfenv setmetatable unpack xpcall syn keyword luaFunc LUA_PATH _LOADED _REQUIREDNAME -" Not sure if all these functions need to be highlighted... + " Not sure if all these functions need to be highlighted... syn match luaFunc /coroutine\.create/ syn match luaFunc /coroutine\.resume/ syn match luaFunc /coroutine\.status/ diff --git a/runtime/syntax/maple.vim b/runtime/syntax/maple.vim index cda7c7516..2fa04577b 100644 --- a/runtime/syntax/maple.vim +++ b/runtime/syntax/maple.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Maple V (based on release 4) " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> -" Last Change: Mar 10, 2004 -" Version: 4 +" Last Change: Aug 19, 2004 +" Version: 5 " URL: http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax " " Package Function Selection: {{{1 @@ -17,6 +17,9 @@ " " *OR* let mvpkg_all=1 +" This syntax file contains all the keywords and top-level packages of Maple 9.5 +" but only the contents of packages of Maple V Release 4, and the top-level +" routines of Release 4. <Jacques Carette - carette@mcmaster.ca> " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -70,6 +73,9 @@ if exists("mvpkg_all") endif " Parenthesis/curly/brace sanity checker: {{{1 +syn case match + +" parenthesis/curly/brace sanity checker syn region mvZone matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" transparent contains=ALLBUT,mvError,mvBraceError,mvCurlyError syn region mvZone matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" transparent contains=ALLBUT,mvError,mvBraceError,mvParenError syn region mvZone matchgroup=Delimiter start="\[" matchgroup=Delimiter end="]" transparent contains=ALLBUT,mvError,mvCurlyError,mvParenError @@ -79,21 +85,47 @@ syn match mvCurlyError "[)\]]" contained syn match mvParenError "[\]}]" contained syn match mvComma "[,;:]" syn match mvSemiError "[;:]" contained - -" Maple V Packages, circa Release 4: {{{1 -syn keyword mvPackage DEtools difforms group networks plots stats -syn keyword mvPackage Galois finance inttrans numapprox plottools student -syn keyword mvPackage GaussInt genfunc liesymm numtheory powseries sumtools -syn keyword mvPackage LREtools geometry linalg orthopoly process tensor -syn keyword mvPackage combinat grobner logic padic simplex totorder -syn keyword mvPackage combstruct +syn match mvDcolon "::" + +" Maple Packages, updated for Maple 9.5 +syn keyword mvPackage algcurves ArrayTools Cache codegen +syn keyword mvPackage CodeGeneration CodeTools combinat combstruct +syn keyword mvPackage ContextMenu CurveFitting DEtools diffalg +syn keyword mvPackage difforms DiscreteTransforms Domains ExternalCalling +syn keyword mvPackage FileTools finance GaussInt genfunc +syn keyword mvPackage geom3d geometry gfun Groebner +syn keyword mvPackage group hashmset IntegerRelations inttrans +syn keyword mvPackage LargeExpressions LibraryTools liesymm linalg +syn keyword mvPackage LinearAlgebra LinearFunctionalSystems LinearOperators +syn keyword mvPackage ListTools Logic LREtools Maplets +syn keyword mvPackage MathematicalFunctions MathML Matlab +syn keyword mvPackage MatrixPolynomialAlgebra MmaTranslator networks +syn keyword mvPackage numapprox numtheory Optimization OreTools +syn keyword mvPackage Ore_algebra OrthogonalSeries orthopoly padic +syn keyword mvPackage PDEtools plots plottools PolynomialIdeals +syn keyword mvPackage PolynomialTools powseries process QDifferenceEquations +syn keyword mvPackage RandomTools RationalNormalForms RealDomain RootFinding +syn keyword mvPackage ScientificConstants ScientificErrorAnalysis simplex +syn keyword mvPackage Slode SNAP Sockets SoftwareMetrics +syn keyword mvPackage SolveTools Spread stats StringTools +syn keyword mvPackage Student student sumtools SumTools +syn keyword mvPackage tensor TypeTools Units VariationalCalculus +syn keyword mvPackage VectorCalculus Worksheet XMLTools " Language Support: {{{1 syn keyword mvTodo contained TODO -syn region mvString start=+`+ skip=+``+ end=+`+ keepend contains=mvTodo -syn region mvDelayEval start=+'+ end=+'+ keepend contains=ALLBUT,mvError,mvBraceError,mvCurlyError,mvParenError,mvSemiError -syn match mvVarAssign "[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:=" contains=mvAssign -syn match mvAssign ":=" contained +if exists("g:mapleversion") && g:mapleversion < 9 + syn region mvString start=+`+ skip=+``+ end=+`+ keepend contains=mvTodo + syn region mvDelayEval start=+'+ end=+'+ keepend contains=ALLBUT,mvError,mvBraceError,mvCurlyError,mvParenError,mvSemiError + syn match mvVarAssign "[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:=" contains=mvAssign + syn match mvAssign ":=" contained +else + syn region mvName start=+`+ skip=+``+ end=+`+ keepend contains=mvTodo + syn region mvString start=+"+ skip=+""+ end=+"+ keepend + syn region mvDelayEval start=+'+ end=+'+ keepend contains=ALLBUT,mvError,mvBraceError,mvCurlyError,mvParenError + syn match mvDelim "[;:]" display + syn match mvAssign ":=" +endif " Lower-Priority Operators: {{{1 syn match mvOper "\." @@ -120,14 +152,16 @@ syn match mvNumber "[-+]\d\+\.\d*e[-+]\=\d\+" " integer . [integer] e [-+] integ syn match mvRange "\.\." " Operators: {{{1 -syn keyword mvOper and not or +syn keyword mvOper and not or xor implies union intersect subset minus mod syn match mvOper "<>\|[<>]=\|[<>]\|=" syn match mvOper "&+\|&-\|&\*\|&\/\|&" syn match mvError "\.\.\." " MapleV Statements: ? statement {{{1 + +" MapleV Statements: ? statement " Split into booleans, conditionals, operators, repeat-logic, etc -syn keyword mvBool true false +syn keyword mvBool true false FAIL syn keyword mvCond elif else fi if then syn keyword mvRepeat by for in to @@ -136,15 +170,25 @@ syn keyword mvRepeat do from od while syn keyword mvSpecial NULL syn match mvSpecial "\[\]\|{}" -syn keyword mvStatement Order fail options read save -syn keyword mvStatement break local point remember stop -syn keyword mvStatement done mod proc restart with -syn keyword mvStatement end mods quit return -syn keyword mvStatement error next +if exists("g:mapleversion") && g:mapleversion < 9 + syn keyword mvStatement Order fail options read save + syn keyword mvStatement break local point remember stop + syn keyword mvStatement done mod proc restart with + syn keyword mvStatement end mods quit return + syn keyword mvStatement error next +else + syn keyword mvStatement option options read save + syn keyword mvStatement break local remember stop + syn keyword mvStatement done mod proc restart + syn keyword mvStatement end mods quit return + syn keyword mvStatement error next try catch + syn keyword mvStatement finally assuming global export + syn keyword mvStatement module description use +endif " Builtin Constants: ? constants {{{1 syn keyword mvConstant Catalan I gamma infinity -syn keyword mvConstant FAIL Pi +syn keyword mvConstant Pi " Comments: DEBUG, if in a comment, is specially highlighted. {{{1 syn keyword mvDebug contained DEBUG @@ -552,6 +596,7 @@ if version >= 508 || !exists("did_maplev_syntax_inits") HiLink mvPkg_totorder mvPkgFunc HiLink mvRange mvOper HiLink mvSemiError mvError + HiLink mvDelim Delimiter " Maple->Standard Links {{{2 HiLink mvAssign Delimiter @@ -561,16 +606,19 @@ if version >= 508 || !exists("did_maplev_syntax_inits") HiLink mvCond Conditional HiLink mvConstant Number HiLink mvDelayEval Label + HiLink mvDcolon Delimiter HiLink mvError Error HiLink mvLibrary Statement HiLink mvNumber Number HiLink mvOper Operator + HiLink mvAssign Delimiter HiLink mvPackage Type HiLink mvPkgFunc Function HiLink mvPktOption Special HiLink mvRepeat Repeat HiLink mvSpecial Special HiLink mvStatement Statement + HiLink mvName String HiLink mvString String HiLink mvTodo Todo diff --git a/runtime/syntax/netrwlist.vim b/runtime/syntax/netrwlist.vim index 8f3091d06..ae68c91b7 100644 --- a/runtime/syntax/netrwlist.vim +++ b/runtime/syntax/netrwlist.vim @@ -1,7 +1,8 @@ " Language : Netrw Remote-Directory Listing Syntax " Maintainer : Charles E. Campbell, Jr. -" Last change: Jul 06, 2004 -" Version : 2 +" Last change: Aug 20, 2004 +" Version : 4 +" --------------------------------------------------------------------- " Syntax Clearing: {{{1 if version < 600 @@ -10,28 +11,39 @@ elseif exists("b:current_syntax") finish endif +" --------------------------------------------------------------------- " Directory List Syntax Highlighting: {{{1 -syn match netrwDir "^.*/\%(\t\|$\)" contains=netrwClassify -syn match netrwClassify "[*=|@/]\%(\t\|$\)" -syn match netrwSymLink "^.*@\%(\t\|$\)" contains=netrwClassify -syn match netrwComment '".*\%(\t\|$\)' contains=netrwHide,netrwSortBy,netrwSortSeq -syn match netrwHide '^"\s*Hiding:' skipwhite nextgroup=netrwHidePat -syn match netrwSlash contained "/" -syn match netrwHidePat contained "[^,]\+" skipwhite nextgroup=netrwHideSep -syn match netrwHideSep contained transparent "," skipwhite nextgroup=netrwHidePat -syn match netrwSortBy contained transparent "Sorted by" skipwhite nextgroup=netrwList -syn match netrwSortSeq contained transparent "Sort sequence:" skipwhite nextgroup=netrwList -syn match netrwList contained ".*$" contains=netrwComma -syn match netrwComma contained "," +syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion +syn match netrwDir "^.*/\%(\t\|$\)" contains=netrwClassify +syn match netrwClassify "[*=|@/]\%(\t\|$\)" +syn match netrwSymLink "^.*@\%(\t\|$\)" contains=netrwClassify +syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup +syn match netrwHide '^"\s*Hiding:' skipwhite nextgroup=netrwHidePat +syn match netrwSlash contained "/" +syn match netrwHidePat contained "[^,]\+" skipwhite nextgroup=netrwHideSep +syn match netrwHideSep contained transparent "," skipwhite nextgroup=netrwHidePat +syn match netrwSortBy contained transparent "Sorted by" skipwhite nextgroup=netrwList +syn match netrwSortSeq contained transparent "Sort sequence:" skipwhite nextgroup=netrwList +syn match netrwList contained ".*$" contains=netrwComma +syn match netrwComma contained "," +syn region netrwQuickHelp contained matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd keepend +syn match netrwHelpCmd contained "\S\ze:" skipwhite nextgroup=netrwCmdSep +syn match netrwCmdSep contained ":" nextgroup=netrwCmdNote +syn match netrwCmdNote contained ".\{-}\ze " +syn match netrwVersion contained "(netrw.*)" +" --------------------------------------------------------------------- " Highlighting Links: {{{1 if !exists("did_drchip_dbg_syntax") let did_drchip_netrwlist_syntax= 1 hi link netrwClassify Function + hi link netrwCmdSep Delimiter hi link netrwComment Comment hi link netrwDir Directory - hi link netrwHidePat String - hi link netrwList String + hi link netrwHelpCmd Function + hi link netrwHidePat Statement + hi link netrwList Statement + hi link netrwVersion Identifier hi link netrwSymLink Special hi link netrwComma netrwComment @@ -40,4 +52,5 @@ endif " Current Syntax: {{{1 let b:current_syntax = "netrwlist" +" --------------------------------------------------------------------- " vim: ts=8 fdm=marker diff --git a/runtime/syntax/perl.vim b/runtime/syntax/perl.vim index 438872918..327cc11fd 100644 --- a/runtime/syntax/perl.vim +++ b/runtime/syntax/perl.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Perl " Maintainer: Nick Hibma <n_hibma@van-laarhoven.org> -" Last Change: 2004 May 16 +" Last Change: 2004 Aug 29 " Location: http://www.van-laarhoven.org/vim/syntax/perl.vim " " Please download most recent version first before mailing @@ -17,8 +17,8 @@ " perl syntax highlighting, with defaults given: " " unlet perl_include_pod -" unlet perl_want_scope_in_variables -" unlet perl_extended_vars +" unlet perl_no_scope_in_variables +" unlet perl_no_extended_vars " unlet perl_string_as_statement " unlet perl_no_sync_on_sub " unlet perl_no_sync_on_global_var @@ -147,16 +147,11 @@ syn match perlVarSlash "$/" " And plain identifiers syn match perlPackageRef "\(\h\w*\)\=\(::\|'\)\I"me=e-1 contained -" To highlight packages in variables as a scope reference - i.e. in $pack::var, -" pack:: is a scope, just set "perl_want_scope_in_variables" -" If you *want* complex things like @{${"foo"}} to be processed, -" just set the variable "perl_extended_vars"... - " FIXME value between {} should be marked as string. is treated as such by Perl. " At the moment it is marked as something greyish instead of read. Probably todo " with transparency. Or maybe we should handle the bare word in that case. or make it into -if exists("perl_want_scope_in_variables") +if !exists("perl_no_scope_in_variables") syn match perlVarPlain "\\\=\([@%$]\|\$#\)\$*\(\I\i*\)\=\(\(::\|'\)\I\i*\)*\>" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod syn match perlFunctionName "\\\=&\$*\(\I\i*\)\=\(\(::\|'\)\I\i*\)*\>" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember else @@ -164,7 +159,7 @@ else syn match perlFunctionName "\\\=&\$*\(\I\i*\)\=\(\(::\|'\)\I\i*\)*\>" nextgroup=perlVarMember,perlVarSimpleMember endif -if exists("perl_extended_vars") +if !exists("perl_no_extended_vars") syn cluster perlExpr contains=perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ syn region perlVarBlock matchgroup=perlVarPlain start="\($#\|[@%$]\)\$*{" skip="\\}" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember syn region perlVarBlock matchgroup=perlVarPlain start="&\$*{" skip="\\}" end="}" contains=@perlExpr @@ -359,7 +354,7 @@ syn region perlFunction start="\s*\<sub\>" end="[;{]"he=e-1 contains=perlStatem syn keyword perlStatementSub sub contained syn match perlFunctionPrototype "([^)]*)" contained -if exists("perl_want_scope_in_variables") +if !exists("perl_no_scope_in_variables") syn match perlFunctionPRef "\h\w*::" contained syn match perlFunctionName "\h\w*[^:]" contained else diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim index c8f6ee0ac..f8624aec4 100644 --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -2,11 +2,11 @@ " Language: shell (sh) Korn shell (ksh) bash (sh) " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> -" Last Change: Apr 28, 2004 -" Version: 68 +" Last Change: Jul 26, 2004 +" Version: 69 " URL: http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax " -" Using the following VIM variables: +" Using the following VIM variables: {{{1 " b:is_kornshell if defined, enhance with kornshell syntax " b:is_bash if defined, enhance with bash syntax " is_kornshell if neither b:is_kornshell or b:is_bash is @@ -20,7 +20,7 @@ " " This file includes many ideas from Éric Brunet (eric.brunet@ens.fr) -" For version 5.x: Clear all syntax items +" For version 5.x: Clear all syntax items {{{1 " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear @@ -28,6 +28,7 @@ elseif exists("b:current_syntax") finish endif +" handling /bin/sh with is_kornshell/is_sh {{{1 " b:is_sh is set when "#! /bin/sh" is found; " However, it often is just a masquerade by bash (typically Linux) " or kornshell (typically workstations with Posix "sh"). @@ -57,7 +58,7 @@ endif " sh syntax is case sensitive syn case match -" Clusters: contains=@... clusters +" Clusters: contains=@... clusters {{{1 "================================== syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseSingleQuote,shCaseDoubleQuote,shSpecial syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,bkshFunction,shSpecial @@ -79,7 +80,7 @@ syn cluster shSubShList contains=@shCaseList syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shDoubleQuote,shExpr,shExpr,shNumber,shOperator,shSingleQuote,shSpecial,shTestOpr -" Echo: +" Echo: {{{1 " ==== " This one is needed INSIDE a CommandSub, so that `echo bla` be correct syn region shEcho matchgroup=shStatement start="\<echo\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|()]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=@shEchoList @@ -88,7 +89,7 @@ syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup " This must be after the strings, so that bla \" be correct syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shOperator end="$" matchgroup=NONE end="[<>;&|`)]"me=e-1 end="\d[<>]"me=e-2 end="#"me=e-1 contains=shNumber,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shSpecial,shOperator,shDoubleQuote,shCharClass -" Alias: +" Alias: {{{1 " ===== if exists("b:is_kornshell") || exists("b:is_bash") syn match shStatement "\<alias\>" @@ -96,8 +97,8 @@ if exists("b:is_kornshell") || exists("b:is_bash") syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\w\+=\)\@=" skip="\\$" end="=" endif -" Error Codes -" =========== +" Error Codes: {{{1 +" ============ syn match shDoError "\<done\>" syn match shIfError "\<fi\>" syn match shInError "\<in\>" @@ -110,25 +111,25 @@ if exists("b:is_kornshell") endif syn match shTestError "]" -" Options interceptor -" =================== +" Options Interceptor: {{{1 +" ==================== syn match shOption "\s[\-+][a-zA-Z0-9]\+\>"ms=s+1 syn match shOption "\s--\S\+"ms=s+1 -" Operators: -" ========= +" Operators: {{{1 +" ========== syn match shOperator "[!&;|]" syn match shOperator "\[[[^:]\|\]]" syn match shOperator "!\==" skipwhite nextgroup=shPattern syn match shPattern "\<\S\+\())\)\@=" contained contains=shSingleQuote,shDoubleQuote,shDeref -" Subshells: -" ========= +" Subshells: {{{1 +" ========== syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2 syn region shSubSh transparent matchgroup=shSubShRegion start="(" end=")" contains=@shSubShList -" Tests -"====== +" Tests: {{{1 +"======= "syn region shExpr transparent matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$+ end="\]" contains=@shTestList syn region shExpr transparent matchgroup=shStatement start="\<test\>" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1 @@ -138,12 +139,12 @@ if exists("b:is_kornshell") || exists("b:is_bash") syn region shDblParen matchgroup=Delimiter start="((" skip=+\\\\\|\\$+ end="))" contains=@shTestList endif -" Character Class in Range -" ======================== +" Character Class In Range: {{{1 +" ========================= syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|tab\):\]" -" Loops: do, if, while, until -" ===== +" Loops: do, if, while, until {{{1 +" ====== syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList syn region shIf transparent matchgroup=shConditional start="\<if\>" matchgroup=shConditional end="\<;\_s*then\>" end="\<fi\>" contains=@shLoopList,shDblBrace,shDblParen syn region shFor matchgroup=shLoop start="\<for\>" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen @@ -157,7 +158,7 @@ else syn region shRepeat matchgroup=shLoop start="\<until\>" end="\<do\>"me=e-2 contains=@shLoopList endif -" Case: case...esac +" Case: case...esac {{{1 " ==== syn match shCaseBar contained skipwhite "[^|"`'()]\{-}|"hs=e nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseSingleQuote,shCaseDoubleQuote syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar @@ -168,11 +169,12 @@ syn region shCaseSingleQuote matchgroup=shOperator start=+'+ skip=+\\\\\|\\.+ e syn region shCaseDoubleQuote matchgroup=shOperator start=+"+ skip=+\\\\\|\\.+ end=+"+ contains=@shDblQuoteList,shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained syn region shCaseCommandSub start=+`+ skip=+\\\\\|\\.+ end=+`+ contains=@shCommandSubList skipwhite skipnl nextgroup=shCaseBar contained -" Misc -"===== +" Misc: {{{1 +"====== syn match shWrapLineOperator "\\$" syn region shCommandSub start="`" skip="\\\\\|\\." end="`" contains=@shCommandSubList +" $() and $(()): {{{1 " $(..) is not supported by sh (Bourne shell). However, apparently " some systems (HP?) have as their /bin/sh a (link to) Korn shell " (ie. Posix compliant shell). /bin/ksh should work for those @@ -205,8 +207,8 @@ syn match shSource "^\.\s" syn match shSource "\s\.\s" syn region shColon start="^\s*:" end="$\|" end="#"me=e-1 contains=@shColonList -" String and Character constants -"=============================== +" String And Character Constants: {{{1 +"================================ syn match shNumber "-\=\<\d\+\>" syn match shSpecial "\\\d\d\d\|\\[abcfnrtv0]" contained syn region shSingleQuote matchgroup=shOperator start=+'+ end=+'+ contains=shStringSpecial @@ -214,20 +216,21 @@ syn region shDoubleQuote matchgroup=shOperator start=+"+ skip=+\\"+ end=+"+ con syn match shStringSpecial "[^[:print:]]" contained syn match shSpecial "\\[\\\"\'`$()#]" -" Comments -"========= +" Comments: {{{1 +"========== syn cluster shCommentGroup contains=shTodo,@Spell syn keyword shTodo contained TODO syn match shComment "#.*$" contains=@shCommentGroup -" File redirection highlighted as operators -"========================================== +" File Redirection Highlighted As Operators: {{{1 +"=========================================== syn match shRedir "\d\=>\(&[-0-9]\)\=" syn match shRedir "\d\=>>-\=" syn match shRedir "\d\=<\(&[-0-9]\)\=" syn match shRedir "\d<<-\=" -" Shell Input Redirection (Here Documents) +" Here Documents: {{{1 +" ========================================= if version < 600 syn region shHereDoc matchgroup=shRedir start="<<\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shRedir end="^END[a-zA-Z_0-9]*$" contains=@shDblQuoteList syn region shHereDoc matchgroup=shRedir start="<<-\s*\**END[a-zA-Z_0-9]*\**" matchgroup=shRedir end="^\s*END[a-zA-Z_0-9]*$" contains=@shDblQuoteList @@ -298,13 +301,16 @@ else syn match shBeginLine ".*$" contained skipnl nextgroup=shHerePayload contains=@shCommandSubList syn match shBeginHere "<<-\=\s*\S\+" contained nextgroup=shBeginLine endif - if exists("b:is_bash") - syn match shRedir "<<<" - endif endif -" Identifiers -"============ +" Here Strings: {{{1 +" ============= +if exists("b:is_bash") + syn match shRedir "<<<" +endif + +" Identifiers: {{{1 +"============= syn match shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shSetIdentifier syn match shIdWhiteSpace contained "\s" syn match shSetIdentifier contained "=" nextgroup=shPattern,shDeref,shDerefSimple,shDoubleQuote,shSingleQuote @@ -321,6 +327,7 @@ else syn match shStatement "\<\(set\|export\|unset\)$" endif +" Functions: {{{1 " handles functions which start: Function () { " Apparently Bourne shell accepts functions too, " even though it isn't documented by my man pages @@ -335,8 +342,8 @@ syn match bkshFunction "^\s*\<\h\w*\>\s*()" skipwhite skipnl contains=bkshFuncti syn match bkshFunctionParen "[()]" contained syn match bkshFunctionDelim "[{}]" contained -" Parameter Dereferencing -" ======================= +" Parameter Dereferencing: {{{1 +" ======================== syn match shDerefSimple "\$\w\+" syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray syn match shDerefWordError "[^}$[]" contained @@ -346,8 +353,8 @@ if exists("b:is_bash") || exists("b:is_kornshell") syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList endif -" bash : ${!prefix*} -" bash : ${#parameter} +" bash: ${!prefix*} and ${#parameter}: {{{1 +" ==================================== if exists("b:is_bash") syn region shDeref matchgroup=PreProc start="\${!" end="\*\=}" contains=@shDerefList,shDerefOp syn match shDerefVar contained "{\@<=!\w\+" nextgroup=@shDerefVarList @@ -357,9 +364,10 @@ syn match shDerefSpecial contained "{\@<=[-*@?0]" nextgroup=shDerefOp,shDerefO syn match shDerefSpecial contained "\({[#!]\)\@<=[[:alnum:]*@_]\+" nextgroup=@shDerefVarList,shDerefOp syn match shDerefVar contained "{\@<=\w\+" nextgroup=@shDerefVarList -" sh ksh bash : ${var[... ]...} array reference +" sh ksh bash : ${var[... ]...} array reference: {{{1 syn region shDerefVarArray contained matchgroup=shDeref start="\[" end="]" contains=@shCommandSubList nextgroup=shDerefOp,shDerefOpError +" Special ${parameter OPERATOR word} handling: {{{1 " sh ksh bash : ${parameter:-word} word is default value " sh ksh bash : ${parameter:=word} assign word as default value " sh ksh bash : ${parameter:?word} display word if parameter is null @@ -395,15 +403,20 @@ if exists("b:is_bash") syn match shDerefPatString contained "[^}]\{1,}" endif -" A bunch of useful sh keywords +" Useful sh Keywords: {{{1 +" =================== syn keyword shStatement break cd chdir continue eval exec exit kill newgrp pwd read readonly return shift test trap ulimit umask wait syn keyword shConditional contained elif else then syn keyword shCondError elif else then +" Useful ksh Keywords: {{{1 +" ==================== if exists("b:is_kornshell") || exists("b:is_bash") syn keyword shFunction function syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup print printf r stop suspend time times true type unalias whence +" Useful bash Keywords: {{{1 +" ===================== if exists("b:is_bash") syn keyword shStatement bind builtin dirs disown enable help local logout popd pushd shopt source else @@ -411,8 +424,8 @@ if exists("b:is_kornshell") || exists("b:is_bash") endif endif -" Syncs -" ===== +" Synchronization: {{{1 +" ================ if !exists("sh_minlines") let sh_minlines = 200 endif @@ -431,7 +444,8 @@ syn sync match shIfSync groupthere shIf "\<fi\>" syn sync match shUntilSync grouphere shRepeat "\<until\>" syn sync match shWhileSync grouphere shRepeat "\<while\>" -" The default highlighting. +" Default Highlighting: {{{1 +" ===================== hi def link shArithRegion shShellVariables hi def link shCaseBar shConditional hi def link shCaseIn shConditional @@ -525,8 +539,8 @@ hi def link shString String hi def link shTodo Todo hi def link shAlias Identifier -" Current Syntax -" ============== +" Set Current Syntax: {{{1 +" =================== if exists("b:is_bash") let b:current_syntax = "bash" elseif exists("b:is_kornshell") @@ -535,4 +549,4 @@ else let b:current_syntax = "sh" endif -" vim: ts=16 +" vim: ts=16 fdm=marker diff --git a/runtime/syntax/sqlinformix.vim b/runtime/syntax/sqlinformix.vim new file mode 100644 index 000000000..b4d023600 --- /dev/null +++ b/runtime/syntax/sqlinformix.vim @@ -0,0 +1,196 @@ +" Vim syntax file +" Informix Structured Query Language (SQL) and Stored Procedure Language (SPL) +" Language: SQL, SPL (Informix Dynamic Server 2000 v9.2) +" Maintainer: Dean Hill <dhill@hotmail.com> +" Last Change: 2004 Aug 30 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syn case ignore + + + +" === Comment syntax group === +syn region sqlComment start="{" end="}" contains=sqlTodo +syn match sqlComment "--.*$" contains=sqlTodo +syn sync ccomment sqlComment + + + +" === Constant syntax group === +" = Boolean subgroup = +syn keyword sqlBoolean true false +syn keyword sqlBoolean null +syn keyword sqlBoolean public user +syn keyword sqlBoolean current today +syn keyword sqlBoolean year month day hour minute second fraction + +" = String subgroup = +syn region sqlString start=+"+ end=+"+ +syn region sqlString start=+'+ end=+'+ + +" = Numbers subgroup = +syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>" + + + +" === Statement syntax group === +" SQL +syn keyword sqlStatement allocate alter +syn keyword sqlStatement begin +syn keyword sqlStatement close commit connect create +syn keyword sqlStatement database deallocate declare delete describe disconnect drop +syn keyword sqlStatement execute fetch flush free get grant info insert +syn keyword sqlStatement load lock open output +syn keyword sqlStatement prepare put +syn keyword sqlStatement rename revoke rollback select set start stop +syn keyword sqlStatement truncate unload unlock update +syn keyword sqlStatement whenever +" SPL +syn keyword sqlStatement call continue define +syn keyword sqlStatement exit +syn keyword sqlStatement let +syn keyword sqlStatement return system trace + +" = Conditional subgroup = +" SPL +syn keyword sqlConditional elif else if then +syn keyword sqlConditional case +" Highlight "end if" with one or more separating spaces +syn match sqlConditional "end \+if" + +" = Repeat subgroup = +" SQL/SPL +" Handle SQL triggers' "for each row" clause and SPL "for" loop +syn match sqlRepeat "for\( \+each \+row\)\=" +" SPL +syn keyword sqlRepeat foreach while +" Highlight "end for", etc. with one or more separating spaces +syn match sqlRepeat "end \+for" +syn match sqlRepeat "end \+foreach" +syn match sqlRepeat "end \+while" + +" = Exception subgroup = +" SPL +syn match sqlException "on \+exception" +syn match sqlException "end \+exception" +syn match sqlException "end \+exception \+with \+resume" +syn match sqlException "raise \+exception" + +" = Keyword subgroup = +" SQL +syn keyword sqlKeyword aggregate add as authorization autofree by +syn keyword sqlKeyword cache cascade check cluster collation +syn keyword sqlKeyword column connection constraint cross +syn keyword sqlKeyword dataskip debug default deferred_prepare +syn keyword sqlKeyword descriptor diagnostics +syn keyword sqlKeyword each escape explain external +syn keyword sqlKeyword file foreign fragment from function +syn keyword sqlKeyword group having +syn keyword sqlKeyword immediate index inner into isolation +syn keyword sqlKeyword join key +syn keyword sqlKeyword left level log +syn keyword sqlKeyword mode modify mounting new no +syn keyword sqlKeyword object of old optical option +syn keyword sqlKeyword optimization order outer +syn keyword sqlKeyword pdqpriority pload primary procedure +syn keyword sqlKeyword references referencing release reserve +syn keyword sqlKeyword residency right role routine row +syn keyword sqlKeyword schedule schema scratch session set +syn keyword sqlKeyword statement statistics synonym +syn keyword sqlKeyword table temp temporary timeout to transaction trigger +syn keyword sqlKeyword using values view violations +syn keyword sqlKeyword where with work +" Highlight "on" (if it's not followed by some words we've already handled) +syn match sqlKeyword "on \+\(exception\)\@!" +" SPL +" Highlight "end" (if it's not followed by some words we've already handled) +syn match sqlKeyword "end \+\(if\|for\|foreach\|while\|exception\)\@!" +syn keyword sqlKeyword resume returning + +" = Operator subgroup = +" SQL +syn keyword sqlOperator not and or +syn keyword sqlOperator in is any some all between exists +syn keyword sqlOperator like matches +syn keyword sqlOperator union intersect +syn keyword sqlOperator distinct unique + + + +" === Identifier syntax group === +" = Function subgroup = +" SQL +syn keyword sqlFunction abs acos asin atan atan2 avg +syn keyword sqlFunction cardinality cast char_length character_length cos count +syn keyword sqlFunction exp filetoblob filetoclob hex +syn keyword sqlFunction initcap length logn log10 lower lpad +syn keyword sqlFunction min max mod octet_length pow range replace root round rpad +syn keyword sqlFunction sin sqrt stdev substr substring sum +syn keyword sqlFunction to_char tan to_date trim trunc upper variance + + + +" === Type syntax group === +" SQL +syn keyword sqlType blob boolean byte char character clob +syn keyword sqlType date datetime dec decimal double +syn keyword sqlType float int int8 integer interval list lvarchar +syn keyword sqlType money multiset nchar numeric nvarchar +syn keyword sqlType real serial serial8 smallfloat smallint +syn keyword sqlType text varchar varying + + + +" === Todo syntax group === +syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE + + + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_sql_syn_inits") + if version < 508 + let did_sql_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + + " === Comment syntax group === + HiLink sqlComment Comment + + " === Constant syntax group === + HiLink sqlNumber Number + HiLink sqlBoolean Boolean + HiLink sqlString String + + " === Statment syntax group === + HiLink sqlStatement Statement + HiLink sqlConditional Conditional + HiLink sqlRepeat Repeat + HiLink sqlKeyword Keyword + HiLink sqlOperator Operator + HiLink sqlException Exception + + " === Identifier syntax group === + HiLink sqlFunction Function + + " === Type syntax group === + HiLink sqlType Type + + " === Todo syntax group === + HiLink sqlTodo Todo + + delcommand HiLink +endif + +let b:current_syntax = "sqlinformix" diff --git a/runtime/syntax/synload.vim b/runtime/syntax/synload.vim index f816bc2d2..652cdba82 100644 --- a/runtime/syntax/synload.vim +++ b/runtime/syntax/synload.vim @@ -1,6 +1,6 @@ " Vim syntax support file " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2001 May 21 +" Last Change: 2004 Aug 28 " This file sets up for syntax highlighting. " It is loaded from "syntax.vim" and "manual.vim". @@ -50,15 +50,25 @@ fun! s:SynSet() if s != "" " Load the syntax file(s) -" if has("mac") -" exe "runtime! syntax:" . s . ".vim" -" else - exe "runtime! syntax/" . s . ".vim" -" endif + exe "runtime! syntax/" . s . ".vim" endif endfun +" Handle adding doxygen to other languages (C, C++, IDL) +au Syntax cpp,c,idl + \ if (exists('b:load_doxygen_syntax') && b:load_doxygen_syntax) + \ || (exists('g:load_doxygen_syntax') && g:load_doxygen_syntax) + \ | runtime syntax/doxygen.vim + \ | endif + +au Syntax *doxygen + \ if exists("b:current_syntax") | finish | endif + \ | let syn = substitute(expand("<amatch>"), 'doxygen$', '', '') + \ | if syn != '' | exe 'runtime syntax/'.syn.'.vim' | endif + \ | if b:current_syntax !~ 'doxygen' | runtime syntax/doxygen.vim | endif + + " Source the user-specified syntax highlighting file if exists("mysyntaxfile") && filereadable(expand(mysyntaxfile)) execute "source " . mysyntaxfile diff --git a/src/buffer.c b/src/buffer.c index c2bc09473..007afd635 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1262,7 +1262,8 @@ set_curbuf(buf, action) || action == DOBUF_WIPE); setpcmark(); - curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */ + if (!cmdmod.keepalt) + curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */ buflist_altfpos(); /* remember curpos */ #ifdef FEAT_VISUAL @@ -1345,7 +1346,15 @@ enter_buffer(buf) /* Make sure the buffer is loaded. */ if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */ + { + /* If there is no filetype, allow for detecting one. Esp. useful for + * ":ball" used in a autocommand. If there already is a filetype we + * might prefer to keep it. */ + if (*curbuf->b_p_ft == NUL) + did_filetype = FALSE; + open_buffer(FALSE, NULL); + } else { need_fileinfo = TRUE; /* display file info after redraw */ @@ -2536,7 +2545,7 @@ setaltfname(ffname, sfname, lnum) /* Create a buffer. 'buflisted' is not set if it's a new buffer */ buf = buflist_new(ffname, sfname, lnum, 0); - if (buf != NULL) + if (buf != NULL && !cmdmod.keepalt) curwin->w_alt_fnum = buf->b_fnum; return buf; } diff --git a/src/eval.c b/src/eval.c index 4e6c7b6a5..756c5fe75 100644 --- a/src/eval.c +++ b/src/eval.c @@ -7341,19 +7341,22 @@ f_strridx(argvars, retvar) needle = get_var_string(&argvars[1]); haystack = get_var_string_buf(&argvars[0], buf); - rest = haystack; - while (*haystack != '\0') - { - rest = (char_u *)strstr((char *)rest, (char *)needle); - if (rest == NULL) - break; - lastmatch = rest++; - } + if (*needle == NUL) + /* Empty string matches past the end. */ + lastmatch = haystack + STRLEN(haystack); + else + for (rest = haystack; *rest != '\0'; ++rest) + { + rest = (char_u *)strstr((char *)rest, (char *)needle); + if (rest == NULL) + break; + lastmatch = rest; + } if (lastmatch == NULL) retvar->var_val.var_number = -1; else - retvar->var_val.var_number = (varnumber_T) (lastmatch - haystack); + retvar->var_val.var_number = (varnumber_T)(lastmatch - haystack); } /* diff --git a/src/ex_cmds.c b/src/ex_cmds.c index ba3670042..2568b194b 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -2040,7 +2040,7 @@ ex_file(eap) } curbuf->b_flags |= BF_NOTEDITED; buf = buflist_new(fname, xfname, curwin->w_cursor.lnum, 0); - if (buf != NULL) + if (buf != NULL && !cmdmod.keepalt) curwin->w_alt_fnum = buf->b_fnum; vim_free(fname); vim_free(sfname); @@ -2689,7 +2689,8 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags) if (!(flags & ECMD_ADDBUF)) #endif { - curwin->w_alt_fnum = curbuf->b_fnum; + if (!cmdmod.keepalt) + curwin->w_alt_fnum = curbuf->b_fnum; buflist_altfpos(); } @@ -4736,7 +4737,8 @@ ex_help(eap) alt_fnum = curbuf->b_fnum; (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL, ECMD_HIDE + ECMD_SET_HELP); - curwin->w_alt_fnum = alt_fnum; + if (!cmdmod.keepalt) + curwin->w_alt_fnum = alt_fnum; empty_fnum = curbuf->b_fnum; } } @@ -4756,7 +4758,7 @@ ex_help(eap) } /* keep the previous alternate file */ - if (alt_fnum != 0 && curwin->w_alt_fnum == empty_fnum) + if (alt_fnum != 0 && curwin->w_alt_fnum == empty_fnum && !cmdmod.keepalt) curwin->w_alt_fnum = alt_fnum; erret: diff --git a/src/ex_cmds.h b/src/ex_cmds.h index 3c802d213..d687d8992 100644 --- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -109,7 +109,7 @@ EX(CMD_anoremenu, "anoremenu", ex_menu, EX(CMD_args, "args", ex_args, BANG|FILES|EDITCMD|ARGOPT|TRLBAR), EX(CMD_argadd, "argadd", ex_argadd, - BANG|NEEDARG|RANGE|NOTADR|COUNT|FILES|TRLBAR), + BANG|NEEDARG|RANGE|NOTADR|ZEROR|COUNT|FILES|TRLBAR), EX(CMD_argdelete, "argdelete", ex_argdelete, BANG|RANGE|NOTADR|COUNT|FILES|TRLBAR), EX(CMD_argdo, "argdo", ex_listdo, @@ -452,6 +452,8 @@ EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM), EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier, NEEDARG|EXTRA|NOTRLCOM), +EX(CMD_keepalt, "keepalt", ex_wrongmodifier, + NEEDARG|EXTRA|NOTRLCOM), EX(CMD_list, "list", ex_print, RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN), EX(CMD_last, "last", ex_last, diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index b651f34a7..1e2584159 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -1062,6 +1062,7 @@ do_one_arg(str) static int do_arglist __ARGS((char_u *str, int what, int after)); static void alist_check_arg_idx __ARGS((void)); +static int editing_arg_idx __ARGS((win_T *win)); #ifdef FEAT_LISTCMDS static int alist_add_list __ARGS((int count, char_u **files, int after)); #endif @@ -1221,20 +1222,30 @@ alist_check_arg_idx() } /* - * Check if window "win" is editing the w_arg_idx file in its argument list. + * Return TRUE if window "win" is editing then file at the current argument + * index. */ - void -check_arg_idx(win) + static int +editing_arg_idx(win) win_T *win; { - if (WARGCOUNT(win) > 1 - && (win->w_arg_idx >= WARGCOUNT(win) + return !(win->w_arg_idx >= WARGCOUNT(win) || (win->w_buffer->b_fnum != WARGLIST(win)[win->w_arg_idx].ae_fnum && (win->w_buffer->b_ffname == NULL || !(fullpathcmp( alist_name(&WARGLIST(win)[win->w_arg_idx]), - win->w_buffer->b_ffname, TRUE) & FPC_SAME))))) + win->w_buffer->b_ffname, TRUE) & FPC_SAME)))); +} + +/* + * Check if window "win" is editing the w_arg_idx file in its argument list. + */ + void +check_arg_idx(win) + win_T *win; +{ + if (WARGCOUNT(win) > 1 && !editing_arg_idx(win)) { /* We are not editing the current entry in the argument list. * Set "arg_had_last" if we are editing the last one. */ @@ -1662,7 +1673,7 @@ ex_listdo(eap) break; /* Don't call do_argfile() when already there, it will try * reloading the file. */ - if (curwin->w_arg_idx != i) + if (curwin->w_arg_idx != i || !editing_arg_idx(curwin)) do_argfile(eap, i); if (curwin->w_arg_idx != i) break; diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 7415e4629..3627f32cc 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -1694,6 +1694,11 @@ do_one_cmd(cmdlinep, sourcing, cmdmod.keepmarks = TRUE; continue; } + if (checkforcmd(&ea.cmd, "keepalt", 5)) + { + cmdmod.keepalt = TRUE; + continue; + } if (!checkforcmd(&ea.cmd, "keepjumps", 5)) break; cmdmod.keepjumps = TRUE; @@ -2388,6 +2393,7 @@ do_one_cmd(cmdlinep, sourcing, case CMD_ilist: case CMD_isearch: case CMD_isplit: + case CMD_keepalt: case CMD_keepjumps: case CMD_keepmarks: case CMD_leftabove: @@ -2788,6 +2794,7 @@ cmd_exists(name) {"browse", 3}, {"confirm", 4}, {"hide", 3}, + {"keepalt", 5}, {"keepjumps", 5}, {"keepmarks", 3}, {"leftabove", 5}, @@ -2892,7 +2899,7 @@ set_one_cmd_context(xp, buff) * Isolate the command and search for it in the command table. * Exceptions: * - the 'k' command can directly be followed by any character, but - * do accept "keepmarks" and "keepjumps". + * do accept "keepmarks", "keepalt" and "keepjumps". * - the 's' command can be followed directly by 'c', 'g', 'i', 'I' or 'r' */ if (*cmd == 'k' && cmd[1] != 'e') @@ -3240,6 +3247,7 @@ set_one_cmd_context(xp, buff) case CMD_folddoclosed: case CMD_folddoopen: case CMD_hide: + case CMD_keepalt: case CMD_keepjumps: case CMD_keepmarks: case CMD_leftabove: @@ -6702,7 +6710,8 @@ do_exedit(eap, old_curwin) && *eap->arg != NUL && curwin != old_curwin && win_valid(old_curwin) - && old_curwin->w_buffer != curbuf) + && old_curwin->w_buffer != curbuf + && !cmdmod.keepalt) old_curwin->w_alt_fnum = curbuf->b_fnum; #endif diff --git a/src/ex_eval.c b/src/ex_eval.c index 1386115e8..284ae3f88 100644 --- a/src/ex_eval.c +++ b/src/ex_eval.c @@ -1620,16 +1620,16 @@ ex_finally(eap) * a missing ":endwhile" detected here, the exception will be * discarded. */ if (did_throw && cstack->cs_exception[cstack->cs_idx] != - current_exception) + current_exception) EMSG(_(e_internal)); } /* - * Set cs_had_finally, so do_cmdline() will reset did_emsg, got_int, - * and did_throw and make the finally clause active. This will - * happen after emsg() has been called for a missing ":endif" or - * a missing ":endwhile" detected here, so that the following - * finally clause will be executed even then. + * Set cs_had_finally, so do_cmdline() will reset did_emsg, + * got_int, and did_throw and make the finally clause active. + * This will happen after emsg() has been called for a missing + * ":endif" or a missing ":endwhile" detected here, so that the + * following finally clause will be executed even then. */ cstack->cs_had_finally = TRUE; } diff --git a/src/fileio.c b/src/fileio.c index d1c11a046..026bc8f38 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -473,6 +473,8 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags) #endif #ifdef VMS curbuf->b_fab_rfm = st.st_fab_rfm; + curbuf->b_fab_rat = st.st_fab_rat; + curbuf->b_fab_mrs = st.st_fab_mrs; #endif } else @@ -2511,6 +2513,11 @@ set_file_time(fname, atime, mtime) } #endif /* UNIX */ +#if defined(VMS) && !defined(MIN) +/* Older DECC compiler for VAX doesn't define MIN() */ +# define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif + /* * buf_write() - write to file 'fname' lines 'start' through 'end' * @@ -3924,20 +3931,29 @@ restore_backup: * On VMS there is a problem: newlines get added when writing blocks * at a time. Fix it by writing a line at a time. * This is much slower! - * Explanation: Vim can not handle, so far, variable record format. - * With $analize/rms filename you can get the rms file structure, and - * if the Record format filed is variable, CR will be added after - * every written buffer. In other cases it works without this fix. - * From other side read is about 5 times slower for "variable record - * format" files. + * Explanation: VAX/DECC RTL insists that records in some RMS + * structures end with a newline (carriage return) character, and if + * they don't it adds one. + * With other RMS structures it works perfect without this fix. */ - if (buf->b_fab_rfm == FAB$C_VAR) + if ((buf->b_fab_rat & (FAB$M_FTN | FAB$M_CR)) != 0) { - write_info.bw_len = len; - if (buf_write_bytes(&write_info) == FAIL) + int b2write; + + buf->b_fab_mrs = (buf->b_fab_mrs == 0 + ? MIN(4096, bufsize) + : MIN(buf->b_fab_mrs, bufsize)); + + b2write = len; + while (b2write > 0) { - end = 0; /* write error: break loop */ - break; + write_info.bw_len = MIN(b2write, buf->b_fab_mrs); + if (buf_write_bytes(&write_info) == FAIL) + { + end = 0; + break; + } + b2write -= MIN(b2write, buf->b_fab_mrs); } write_info.bw_len = bufsize; nchars += len; diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index e36c85827..aed649b27 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -5845,8 +5845,11 @@ gui_mch_wait_for_chars(long wtime) /* * Loop in GTK+ processing until a timeout or input occurs. + * Skip this if input is available anyway (can happen in rare + * situations, sort of race condition). */ - gtk_main(); + if (!input_available()) + gtk_main(); /* Got char, return immediately */ if (input_available()) diff --git a/src/main.c b/src/main.c index 8e20121ae..0c8701ad9 100644 --- a/src/main.c +++ b/src/main.c @@ -150,11 +150,6 @@ main int literal = FALSE; /* don't expand file names */ #endif -# ifdef NBDEBUG - nbdebug_log_init("SPRO_GVIM_DEBUG", "SPRO_GVIM_DLEVEL"); - nbdebug_wait(WT_ENV | WT_WAIT | WT_STOP, "SPRO_GVIM_WAIT", 20); -# endif - /* * Do any system-specific initialisations. These can NOT use IObuff or * NameBuff. Thus emsg2() cannot be called! @@ -209,6 +204,13 @@ main TIME_MSG("Allocated generic buffers"); +#ifdef NBDEBUG + /* Wait a moment for debugging NetBeans. Must be after allocating + * NameBuff. */ + nbdebug_log_init("SPRO_GVIM_DEBUG", "SPRO_GVIM_DLEVEL"); + nbdebug_wait(WT_ENV | WT_WAIT | WT_STOP, "SPRO_GVIM_WAIT", 20); +#endif + #if defined(HAVE_LOCALE_H) || defined(X_LOCALE) /* * Setup to use the current locale (for ctype() and many other things). @@ -2475,6 +2477,9 @@ usage() break; mch_msg(_("\n or:")); } +#ifdef VMS + mch_msg(_("where case is ignored prepend / to make flag upper case")); +#endif mch_msg(_("\n\nArguments:\n")); main_msg(_("--\t\t\tOnly file names after this")); diff --git a/src/misc1.c b/src/misc1.c index 8a2d19e1b..9558cc5ff 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -2168,7 +2168,7 @@ del_bytes(count, fixpos) #ifdef FEAT_MBYTE /* If 'delcombine' is set and deleting (less than) one character, only * delete the last combining character. */ - if (p_deco && enc_utf8 && (*mb_ptr2len_check)(oldp + col) <= count) + if (p_deco && enc_utf8 && utfc_ptr2len_check(oldp + col) >= count) { int c1, c2; int n; @@ -3321,7 +3321,11 @@ expand_env_esc(src, dst, dstlen, esc) while (*src && dstlen > 0) { copy_char = TRUE; - if (*src == '$' + if ((*src == '$' +#ifdef VMS + && at_start +#endif + ) #if defined(MSDOS) || defined(MSWIN) || defined(OS2) || *src == '%' #endif diff --git a/src/normal.c b/src/normal.c index 330356ce9..8ea4ba64c 100644 --- a/src/normal.c +++ b/src/normal.c @@ -4343,6 +4343,7 @@ dozet: curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count; else curwin->w_cursor.lnum = cap->count0; + check_cursor_col(); } switch (nchar) @@ -3703,6 +3703,11 @@ ex_display(eap) int name; int attr; char_u *arg = eap->arg; +#ifdef FEAT_MBYTE + int clen; +#else +# define clen 1 +#endif if (arg != NULL && *arg == NUL) arg = NULL; @@ -3750,10 +3755,12 @@ ex_display(eap) } for (p = yb->y_array[j]; *p && (n -= ptr2cells(p)) >= 0; ++p) { - msg_outtrans_len(p, 1); #ifdef FEAT_MBYTE - if (has_mbyte) - p += (*mb_ptr2len_check)(p) - 1; + clen = (*mb_ptr2len_check)(p); +#endif + msg_outtrans_len(p, clen); +#ifdef FEAT_MBYTE + p += clen - 1; #endif } } diff --git a/src/option.c b/src/option.c index 981e231ea..d049cd47a 100644 --- a/src/option.c +++ b/src/option.c @@ -714,7 +714,7 @@ static struct vimoption {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF, #ifdef FEAT_FIND_ID (char_u *)&p_def, OPT_BOTH(PV_DEF), - {(char_u *)"^\\s#\\s*define", (char_u *)0L} + {(char_u *)"^\\s*#\\s*define", (char_u *)0L} #else (char_u *)NULL, PV_NONE, {(char_u *)NULL, (char_u *)0L} diff --git a/src/os_unix.c b/src/os_unix.c index 08276456b..24c86b261 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -1954,9 +1954,9 @@ vim_is_vt300(name) { if (name == NULL) return FALSE; /* actually all ANSI comp. terminals should be here */ - return (STRNICMP(name, "vt3", 3) == 0 /* it will cover all from VT100-VT300 */ - || STRNICMP(name, "vt2", 3) == 0 /* TODO: from VT340 can hanle colors */ - || STRNICMP(name, "vt1", 3) == 0 + /* catch VT100 - VT5xx */ + return ((STRNICMP(name, "vt", 2) == 0 + && vim_strchr((char_u *)"12345", name[2]) != NULL) || STRCMP(name, "builtin_vt320") == 0); } diff --git a/src/po/es.po b/src/po/es.po index ed89984fa..511d3f31f 100644 --- a/src/po/es.po +++ b/src/po/es.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Vim 6.3.7 (Español)\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-06-23 20:35-0500\n" -"PO-Revision-Date: 2004-06-23 20:46-0500\n" +"Project-Id-Version: Vim 7.0aa (Español)\n" +"Report-Msgid-Bugs-To: Alejandro López-Valencia <dradul@yahoo.com>\n" +"POT-Creation-Date: 2004-08-02 19:58-0500\n" +"PO-Revision-Date: 2004-08-02 20:01-0500\n" "Last-Translator: Alejandro López-Valencia <dradul@yahoo.com>\n" "Language-Team: Alejandro López-Valencia <dradul@yahoo.com>\n" "MIME-Version: 1.0\n" @@ -26,172 +26,176 @@ msgstr "E82: No se puede asignar memoria para ningún «buffer», saliendo..." msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: No se puede asignar memoria para el «buffer», usando otro..." -#: buffer.c:808 +#: buffer.c:827 +#, c-format msgid "E515: No buffers were unloaded" msgstr "E515: No se descargó ningún «buffer»." -#: buffer.c:810 +#: buffer.c:829 +#, c-format msgid "E516: No buffers were deleted" -msgstr "E516: No se borró ningún «buffer»." +msgstr "E516: No se eliminó ningún «buffer»." -#: buffer.c:812 +#: buffer.c:831 +#, c-format msgid "E517: No buffers were wiped out" -msgstr "E517: No se eliminó ningún «buffer»." +msgstr "E517: No se borró ningún «buffer»." -#: buffer.c:820 +#: buffer.c:839 msgid "1 buffer unloaded" -msgstr "Un «buffer» descargado." +msgstr "Un «buffer» descargado de la memoria." -#: buffer.c:822 +#: buffer.c:841 #, c-format msgid "%d buffers unloaded" -msgstr "%d «buffers» descargados." +msgstr "%d «buffers» descargados de la memoria." -#: buffer.c:827 +#: buffer.c:846 msgid "1 buffer deleted" -msgstr "Un «buffer» suprimido." +msgstr "Un «buffer» eliminado." -#: buffer.c:829 +#: buffer.c:848 #, c-format msgid "%d buffers deleted" -msgstr "%d «buffers» suprimidos." +msgstr "%d «buffers» eliminados." -#: buffer.c:834 +#: buffer.c:853 msgid "1 buffer wiped out" -msgstr "1 «buffer» eliminado." +msgstr "1 «buffer» borrado." -#: buffer.c:836 +#: buffer.c:855 #, c-format msgid "%d buffers wiped out" -msgstr "%d «buffers» eliminados." +msgstr "%d «buffers» borrado." -#: buffer.c:897 +#: buffer.c:916 msgid "E84: No modified buffer found" msgstr "E84: No he encontrado ningún «buffer» modificado." #. back where we started, didn't find anything. -#: buffer.c:936 +#: buffer.c:955 msgid "E85: There is no listed buffer" msgstr "E85: No hay «buffers» en la lista." -#: buffer.c:948 +#: buffer.c:967 #, c-format msgid "E86: Buffer %ld does not exist" msgstr "E86: El «buffer» %ld no existe." -#: buffer.c:951 +#: buffer.c:970 msgid "E87: Cannot go beyond last buffer" msgstr "E87: No puedo ir más allá del último «buffer»." -#: buffer.c:953 +#: buffer.c:972 msgid "E88: Cannot go before first buffer" msgstr "E88: No puedo ir más atrás del primer buffer." -#: buffer.c:991 +#: buffer.c:1010 #, c-format msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" "E89: No ha guardado el fichero desde el último cambio del «buffer» %ld " "(añada ! para forzar)." -#: buffer.c:1008 +#: buffer.c:1027 msgid "E90: Cannot unload last buffer" msgstr "E90: No se puede descargar el último buffer." -#: buffer.c:1544 +#: buffer.c:1563 msgid "W14: Warning: List of file names overflow" msgstr "W14: Advertencia: lista de nombres de ficheros demasiado larga." -#: buffer.c:1716 +#: buffer.c:1741 #, c-format msgid "E92: Buffer %ld not found" msgstr "E92: No se ha encontrado el buffer %ld" -#: buffer.c:1947 +#: buffer.c:1972 #, c-format msgid "E93: More than one match for %s" msgstr "E93: Más de una coincidencia con %s." -#: buffer.c:1949 +#: buffer.c:1974 #, c-format msgid "E94: No matching buffer for %s" msgstr "E94: No hay un buffer que coincida con %s." -#: buffer.c:2344 +#: buffer.c:2369 #, c-format msgid "line %ld" msgstr "línea %ld" -#: buffer.c:2429 +#: buffer.c:2454 msgid "E95: Buffer with this name already exists" msgstr "E95: Ya existe un buffer con este nombre." -#: buffer.c:2724 +#: buffer.c:2749 msgid " [Modified]" msgstr " [Modificado]" -#: buffer.c:2729 +#: buffer.c:2754 msgid "[Not edited]" msgstr "[Sin editar]" -#: buffer.c:2734 +#: buffer.c:2759 msgid "[New file]" msgstr "[Fichero nuevo]" -#: buffer.c:2735 +#: buffer.c:2760 msgid "[Read errors]" msgstr "[Errores de lectura]" -#: buffer.c:2737 fileio.c:2124 +#: buffer.c:2762 fileio.c:2098 msgid "[readonly]" msgstr "[Sólo lectura]" -#: buffer.c:2758 +#: buffer.c:2783 #, c-format msgid "1 line --%d%%--" msgstr "1 línea --%d%%--" -#: buffer.c:2760 +#: buffer.c:2785 #, c-format msgid "%ld lines --%d%%--" msgstr "%ld líneas --%d%%--" -#: buffer.c:2767 +#: buffer.c:2792 #, c-format msgid "line %ld of %ld --%d%%-- col " msgstr "línea %ld de %ld --%d%%-- col " -#: buffer.c:2875 +#: buffer.c:2900 msgid "[No file]" msgstr "[Sin fichero]" # must be a help buffer #. must be a help buffer -#: buffer.c:2915 +#: buffer.c:2940 msgid "help" msgstr "ayuda" -#: buffer.c:3474 screen.c:5079 +#: buffer.c:3499 screen.c:5122 msgid "[help]" msgstr "[ayuda]" -#: buffer.c:3506 screen.c:5085 +#: buffer.c:3531 screen.c:5128 msgid "[Preview]" msgstr "[Vista previa]" -#: buffer.c:3786 +#: buffer.c:3811 msgid "All" msgstr "Todo" -#: buffer.c:3786 +#: buffer.c:3811 msgid "Bot" msgstr "Final" -#: buffer.c:3788 +#: buffer.c:3813 msgid "Top" msgstr "Comienzo" -#: buffer.c:4536 +#: buffer.c:4568 +#, c-format msgid "" "\n" "# Buffer list:\n" @@ -199,15 +203,15 @@ msgstr "" "\n" "# Lista de «buffers»:\n" -#: buffer.c:4569 +#: buffer.c:4601 msgid "[Error List]" msgstr "[Lista de errores]" -#: buffer.c:4582 memline.c:1521 -msgid "[No File]" -msgstr "[Sin fichero]" +#: buffer.c:4614 memline.c:1524 +msgid "[No Name]" +msgstr "[Sin Nombre]" -#: buffer.c:4895 +#: buffer.c:4927 msgid "" "\n" "--- Signs ---" @@ -215,51 +219,51 @@ msgstr "" "\n" "--- Signos ---" -#: buffer.c:4914 +#: buffer.c:4946 #, c-format msgid "Signs for %s:" msgstr "Signos para %s" -#: buffer.c:4920 +#: buffer.c:4952 #, c-format msgid " line=%ld id=%d name=%s" msgstr " línea=%ld id=%d nombre=%s" -#: diff.c:139 +#: diff.c:163 #, c-format msgid "E96: Can not diff more than %ld buffers" msgstr "E96: No puedo usar «diff» con más de %ld «buffers»." -#: diff.c:713 +#: diff.c:737 msgid "E97: Cannot create diffs" msgstr "E97: No puedo crear «diffs»." -#: diff.c:819 +#: diff.c:843 msgid "Patch file" msgstr "Fichero de parches." -#: diff.c:1072 +#: diff.c:1146 msgid "E98: Cannot read diff output" msgstr "E98: no puedo leer la salida de «diff»." -#: diff.c:1822 +#: diff.c:1896 msgid "E99: Current buffer is not in diff mode" msgstr "E99: El «buffer» actual no está en modo «diff»." -#: diff.c:1834 +#: diff.c:1908 msgid "E100: No other buffer in diff mode" msgstr "E100: Ningún otro «buffer» está en modo «diff»." -#: diff.c:1842 +#: diff.c:1916 msgid "E101: More than two buffers in diff mode, don't know which one to use" msgstr "E101: Más de dos «buffers» en modo «diff», no se cual usar." -#: diff.c:1865 +#: diff.c:1939 #, c-format msgid "E102: Can't find buffer \"%s\"" msgstr "E102: No puedo encontrar el «buffer» «%s»." -#: diff.c:1871 +#: diff.c:1945 #, c-format msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: El «buffer» «%s» no está en modo «diff»." @@ -277,91 +281,96 @@ msgid "E105: Using :loadkeymap not in a sourced file" msgstr "" "E105: «:loadkeymap» en un fichero que no contiene instrucciones ejecutables." -#: edit.c:40 +#: edit.c:41 msgid " Keyword completion (^N^P)" msgstr " Completar palabra clave (^N^P)." # ctrl_x_mode == 0, ^P/^N compl. #. ctrl_x_mode == 0, ^P/^N compl. -#: edit.c:41 -msgid " ^X mode (^E^Y^L^]^F^I^K^D^V^N^P)" -msgstr " modo ^X (^E^Y^L^]^F^I^K^D^V^N^P)." +#: edit.c:42 +msgid " ^X mode (^E^Y^L^]^F^I^K^D^U^V^N^P)" +msgstr " modo ^X (^E^Y^L^]^F^I^K^D^V^N^P)" # Scroll has it's own msgs, in it's place there is the msg for local # * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL) -- Acevedo #. Scroll has it's own msgs, in it's place there is the msg for local #. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL) -- Acevedo -#: edit.c:44 +#: edit.c:45 msgid " Keyword Local completion (^N^P)" msgstr " Completar palabra clave local (^N^P)." -#: edit.c:45 +#: edit.c:46 msgid " Whole line completion (^L^N^P)" msgstr " Completar toda la línea (^L^N^P)." -#: edit.c:46 +#: edit.c:47 msgid " File name completion (^F^N^P)" msgstr " Completar nombre de fichero (^F^N^P)." -#: edit.c:47 +#: edit.c:48 msgid " Tag completion (^]^N^P)" msgstr " Completar «tag» (^]^N^P)." -#: edit.c:48 +#: edit.c:49 msgid " Path pattern completion (^N^P)" msgstr " Completar patrón de ruta (^N^P)." -#: edit.c:49 +#: edit.c:50 msgid " Definition completion (^D^N^P)" msgstr " Completar definición (^D^N^P)." -#: edit.c:51 +#: edit.c:52 msgid " Dictionary completion (^K^N^P)" msgstr " Completar diccionario (^K^N^P)." -#: edit.c:52 +#: edit.c:53 msgid " Thesaurus completion (^T^N^P)" msgstr " Completar diccionario de sinónimos (^T^N^P)." -#: edit.c:53 +#: edit.c:54 msgid " Command-line completion (^V^N^P)" msgstr " Completar línea de comandos (^V^N^P)." -#: edit.c:56 +#: edit.c:55 +msgid " User defined completion (^U^N^P)" +msgstr " Completar patrón definido por el usuario (^V^N^P)." + +#: edit.c:58 msgid "Hit end of paragraph" msgstr "He llegado al final del párrafo." -#: edit.c:962 +#: edit.c:994 msgid "'thesaurus' option is empty" msgstr "La opción «thesaurus» está vacía." -#: edit.c:1166 +#: edit.c:1204 msgid "'dictionary' option is empty" msgstr "La opción «dictionary» está vacía." -#: edit.c:2162 +#: edit.c:2204 #, c-format msgid "Scanning dictionary: %s" msgstr "Buscando en el diccionario: %s." -#: edit.c:2368 +#: edit.c:2410 msgid " (insert) Scroll (^E/^Y)" msgstr " (insertar) «Scroll» (^E/^Y)." -#: edit.c:2370 +#: edit.c:2412 msgid " (replace) Scroll (^E/^Y)" msgstr " (reemplazar) «Scroll» (^E/^Y)." -#: edit.c:2684 +#: edit.c:2814 #, c-format msgid "Scanning: %s" msgstr "Buscando: %s." -#: edit.c:2719 +#: edit.c:2849 +#, c-format msgid "Scanning tags." msgstr "Buscando «tags»." -#: edit.c:3381 +#: edit.c:3550 msgid " Adding" msgstr "Añadiendo." @@ -372,28 +381,28 @@ msgstr "Añadiendo." #. * be called before line = ml_get(), or when this address is no #. * longer needed. -- Acevedo. #. -#: edit.c:3430 +#: edit.c:3599 msgid "-- Searching..." msgstr "-- Buscando..." -#: edit.c:3486 +#: edit.c:3655 msgid "Back at original" msgstr "De vuelta al original." -#: edit.c:3491 +#: edit.c:3660 msgid "Word from other line" msgstr "Palabra de otra línea." -#: edit.c:3496 +#: edit.c:3665 msgid "The only match" msgstr "La única coincidencia." -#: edit.c:3555 +#: edit.c:3724 #, c-format msgid "match %d of %d" msgstr "coincidencia %d de %d." -#: edit.c:3558 +#: edit.c:3727 #, c-format msgid "match %d" msgstr "coincidencia %d." @@ -402,74 +411,74 @@ msgstr "coincidencia %d." # * search for a trailing command. #. Skip further arguments but do continue to #. * search for a trailing command. -#: eval.c:1024 +#: eval.c:1055 #, c-format msgid "E106: Unknown variable: \"%s\"" msgstr "E106: Variable desconocida: «%s»." -#: eval.c:1320 +#: eval.c:1351 #, c-format msgid "E107: Missing braces: %s" msgstr "E107: Faltan llaves: %s." -#: eval.c:1435 eval.c:1449 +#: eval.c:1466 eval.c:1480 #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: No existe tal variable: «%s»." -#: eval.c:1705 +#: eval.c:1736 msgid "E109: Missing ':' after '?'" msgstr "E109: Falta «:» después de «?»." -#: eval.c:2327 +#: eval.c:2358 msgid "E110: Missing ')'" msgstr "E110: Falta un «)»." -#: eval.c:2389 +#: eval.c:2420 msgid "E111: Missing ']'" msgstr "E111: Falta un «]»." -#: eval.c:2466 +#: eval.c:2497 #, c-format msgid "E112: Option name missing: %s" msgstr "E112: Falta el nombre de la opción: %s." -#: eval.c:2484 +#: eval.c:2515 #, c-format msgid "E113: Unknown option: %s" msgstr "E113: Opción desconocida: %s." -#: eval.c:2555 +#: eval.c:2586 #, c-format msgid "E114: Missing quote: %s" msgstr "E114: Faltan comillas: %s." -#: eval.c:2698 +#: eval.c:2729 #, c-format msgid "E115: Missing quote: %s" msgstr "E115: Faltan comillas: %s." -#: eval.c:3054 +#: eval.c:3092 #, c-format msgid "E116: Invalid arguments for function %s" msgstr "E116: Argumentos no válidos para la función %s." -#: eval.c:3083 +#: eval.c:3121 #, c-format msgid "E117: Unknown function: %s" msgstr "E117: Función desconocida: %s." -#: eval.c:3084 +#: eval.c:3122 #, c-format msgid "E118: Too many arguments for function: %s" msgstr "E118: Demasiados argumentos para la función: %s." -#: eval.c:3085 +#: eval.c:3123 #, c-format msgid "E119: Not enough arguments for function: %s" msgstr "E119: Argumentos insuficientes para la función: %s." -#: eval.c:3086 +#: eval.c:3124 #, c-format msgid "E120: Using <SID> not in a script context: %s" msgstr "E120: Usando <SID> en un contexto que no es de «script»: %s." @@ -482,16 +491,16 @@ msgstr "E120: Usando <SID> en un contexto que no es de «script»: %s." #. * this way has the compelling advantage that translations need not to #. * be touched at all. See below what 'ok' and 'ync' are used for. #. -#: eval.c:3687 gui.c:4385 gui_gtk.c:2059 +#: eval.c:3775 gui.c:4388 gui_gtk.c:2059 msgid "&Ok" msgstr "&Ok" -#: eval.c:4226 +#: eval.c:4381 #, c-format msgid "+-%s%3ld lines: " msgstr "+-%s%3ld líneas: " -#: eval.c:5477 +#: eval.c:5750 msgid "" "&OK\n" "&Cancel" @@ -499,132 +508,133 @@ msgstr "" "&Aceptar\n" "&Cancelar" -#: eval.c:5517 +#: eval.c:5790 msgid "called inputrestore() more often than inputsave()" msgstr "He llamado a «inputrestore()» más veces que a «inputsave()»." -#: eval.c:5977 +#: eval.c:6270 msgid "E655: Too many symbolic links (cycle?)" msgstr "E655: Hay demasiados enlaces symbólicos (¿referencia circular?)" -#: eval.c:6626 +#: eval.c:6953 msgid "E240: No connection to Vim server" msgstr "E240: Sin conexión al servidor Vim." -#: eval.c:6724 +#: eval.c:7051 msgid "E277: Unable to read a server reply" msgstr "E277: Incapaz de leer una respuesta del servidor." -#: eval.c:6752 +#: eval.c:7079 msgid "E258: Unable to send to client" msgstr "E258: Incapaz de enviar al cliente." -#: eval.c:6800 +#: eval.c:7127 #, c-format msgid "E241: Unable to send to %s" msgstr "E241: Incapaz de enviar a %s." -#: eval.c:6900 +#: eval.c:7266 msgid "(Invalid)" msgstr "(No válido)" -#: eval.c:8078 +#: eval.c:8584 #, c-format msgid "E121: Undefined variable: %s" msgstr "E121: Variable sin definir: %s." -#: eval.c:8510 +#: eval.c:9016 #, c-format msgid "E461: Illegal variable name: %s" msgstr "E244: ¡Nombre ilegal para una variable! %s" -#: eval.c:8802 +#: eval.c:9308 #, c-format msgid "E122: Function %s already exists, add ! to replace it" msgstr "E226: La función %s ya existe, añada «!» para reemplazarla." -#: eval.c:8875 +#: eval.c:9381 #, c-format msgid "E123: Undefined function: %s" msgstr "E123: Función sin definir: %s." -#: eval.c:8888 +#: eval.c:9394 #, c-format msgid "E124: Missing '(': %s" msgstr "E124: Falta «(»: %s." -#: eval.c:8921 +#: eval.c:9427 #, c-format msgid "E125: Illegal argument: %s" msgstr "E125: Argumento ilegal: %s." -#: eval.c:9000 +#: eval.c:9506 msgid "E126: Missing :endfunction" msgstr "E126: Falta «:endfunction»." -#: eval.c:9107 +#: eval.c:9615 #, c-format msgid "E127: Cannot redefine function %s: It is in use" msgstr "E127: No se puede redefinir la función %s: está en uso." -#: eval.c:9177 +#: eval.c:9685 msgid "E129: Function name required" msgstr "E129: Se requiere el nombre de la función." -#: eval.c:9228 +#: eval.c:9736 #, c-format msgid "E128: Function name must start with a capital: %s" msgstr "E128: El nombre de la función debe empezar con mayúscula: %s." -#: eval.c:9420 +#: eval.c:9928 #, c-format msgid "E130: Undefined function: %s" msgstr "E130: Función sin definir: %s." -#: eval.c:9425 +#: eval.c:9933 #, c-format msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: No se puede eliminar la función %s: está en uso." +msgstr "E131: No se puede eliminar la función «%s»: está en uso." -#: eval.c:9473 +#: eval.c:9981 msgid "E132: Function call depth is higher than 'maxfuncdepth'" msgstr "" "E132: La profundidad de la llamada a la función es mayor que «maxfuncdepth»." # always scroll up, don't overwrite #. always scroll up, don't overwrite -#: eval.c:9526 +#: eval.c:10034 #, c-format msgid "calling %s" msgstr "Llamando a %s." -#: eval.c:9588 +#: eval.c:10096 #, c-format msgid "%s aborted" msgstr "He abortado a %s." -#: eval.c:9590 +#: eval.c:10098 #, c-format msgid "%s returning #%ld" msgstr "%s devuelve #%ld." -#: eval.c:9597 +#: eval.c:10105 #, c-format msgid "%s returning \"%s\"" msgstr "%s devuelve «%s»." # always scroll up, don't overwrite #. always scroll up, don't overwrite -#: eval.c:9613 ex_cmds2.c:2369 +#: eval.c:10121 ex_cmds2.c:2394 #, c-format msgid "continuing in %s" msgstr "continuando en %s." -#: eval.c:9639 +#: eval.c:10147 msgid "E133: :return not inside a function" msgstr "E133: «:return» no está dentro de una función." -#: eval.c:9970 +#: eval.c:10478 +#, c-format msgid "" "\n" "# global variables:\n" @@ -722,6 +732,7 @@ msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# Este fichero viminfo fue generado por Vim %s.\n" #: ex_cmds.c:1651 +#, c-format msgid "" "# You may edit it if you're careful!\n" "\n" @@ -730,6 +741,7 @@ msgstr "" "\n" #: ex_cmds.c:1653 +#, c-format msgid "# Value of 'encoding' when this file was written\n" msgstr "# Valor de «encoding» cuando se escribió este fichero\n" @@ -737,7 +749,7 @@ msgstr "# Valor de «encoding» cuando se escribió este fichero\n" msgid "Illegal starting char" msgstr "Carácter de comienzo ilegal" -#: ex_cmds.c:2097 ex_cmds2.c:760 +#: ex_cmds.c:2108 ex_cmds2.c:782 msgid "Save As" msgstr "Guardar como" @@ -745,35 +757,35 @@ msgstr "Guardar como" # * good idea. #. Overwriting a file that is loaded in another buffer is not a #. * good idea. -#: ex_cmds.c:2140 +#: ex_cmds.c:2151 msgid "E139: File is loaded in another buffer" msgstr "E139: El fichero está cargado en otro «buffer»." -#: ex_cmds.c:2174 +#: ex_cmds.c:2185 msgid "Write partial file?" msgstr "¿Escribir un fichero parcial?" -#: ex_cmds.c:2181 +#: ex_cmds.c:2192 msgid "E140: Use ! to write partial buffer" msgstr "E140: Use ! para escribir un «buffer» parcial." -#: ex_cmds.c:2296 +#: ex_cmds.c:2309 #, c-format msgid "Overwrite existing file \"%.*s\"?" msgstr "¿Escribir sobre el fichero existente «%.*s»?" -#: ex_cmds.c:2367 +#: ex_cmds.c:2380 #, c-format msgid "E141: No file name for buffer %ld" msgstr "E141: No existe un nombre de fichero para el «buffer» %ld" -#: ex_cmds.c:2406 +#: ex_cmds.c:2419 msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "" "E142: No se ha escrito el fichero: escritura desactivada por la opción " "«write»." -#: ex_cmds.c:2426 +#: ex_cmds.c:2439 #, c-format msgid "" "'readonly' option is set for \"%.*s\".\n" @@ -782,69 +794,70 @@ msgstr "" "Se ha activado la opción «readonly» para «%.*s».\n" "¿Quiere escribirlo de todas formas?" -#: ex_cmds.c:2599 +#: ex_cmds.c:2612 msgid "Edit File" msgstr "Editar fichero" -#: ex_cmds.c:3206 +#: ex_cmds.c:3219 #, c-format msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "" "E143: Los autocomandos han eliminado inesperadamente el nuevo «buffer» %s" -#: ex_cmds.c:3340 +#: ex_cmds.c:3353 msgid "E144: non-numeric argument to :z" msgstr "E144: Argumento no numérico para «:z»." -#: ex_cmds.c:3425 +#: ex_cmds.c:3438 msgid "E145: Shell commands not allowed in rvim" msgstr "E145: Rvim no permite acceso al procesador de comandos." -#: ex_cmds.c:3532 +#: ex_cmds.c:3545 msgid "E146: Regular expressions can't be delimited by letters" msgstr "E146: Las expresiones regulares no se pueden delimitar con letras." -#: ex_cmds.c:3878 +#: ex_cmds.c:3897 #, c-format msgid "replace with %s (y/n/a/q/l/^E/^Y)?" msgstr "¿Reemplazar con %s (y/n/a/q/l/^E/^Y)?" -#: ex_cmds.c:4271 +#: ex_cmds.c:4293 msgid "(Interrupted) " msgstr "(Interrumpido)" -#: ex_cmds.c:4275 +#: ex_cmds.c:4297 msgid "1 substitution" msgstr "1 sustitución" -#: ex_cmds.c:4277 +#: ex_cmds.c:4299 #, c-format msgid "%ld substitutions" msgstr "%ld sustituciones" -#: ex_cmds.c:4280 +#: ex_cmds.c:4302 msgid " on 1 line" msgstr " en 1 línea" -#: ex_cmds.c:4282 +#: ex_cmds.c:4304 #, c-format msgid " on %ld lines" msgstr " en %ld líneas" -#: ex_cmds.c:4333 +#: ex_cmds.c:4355 msgid "E147: Cannot do :global recursive" msgstr "E147: «:global» no puede ser recursivo." -#: ex_cmds.c:4368 +#: ex_cmds.c:4390 msgid "E148: Regular expression missing from global" msgstr "E148: Falta una expresión regular en el comando global." -#: ex_cmds.c:4417 +#: ex_cmds.c:4439 #, c-format msgid "Pattern found in every line: %s" msgstr "Patrón encontrado en cada línea: %s" -#: ex_cmds.c:4498 +#: ex_cmds.c:4520 +#, c-format msgid "" "\n" "# Last Substitute String:\n" @@ -854,97 +867,97 @@ msgstr "" "# Última cadena de sustitución:\n" "$" -#: ex_cmds.c:4599 +#: ex_cmds.c:4621 msgid "E478: Don't panic!" msgstr "E478: ¡No entre en pánico!" -#: ex_cmds.c:4651 +#: ex_cmds.c:4667 #, c-format msgid "E661: Sorry, no '%s' help for %s" msgstr "E149: Lo siento, no hay ayuda «%s» para %s." -#: ex_cmds.c:4654 +#: ex_cmds.c:4670 #, c-format msgid "E149: Sorry, no help for %s" msgstr "E149: Lo siento, no hay ayuda para %s" -#: ex_cmds.c:4688 +#: ex_cmds.c:4704 #, c-format msgid "Sorry, help file \"%s\" not found" msgstr "Lo siento, no encuentro el fichero de ayuda «%s»." -#: ex_cmds.c:5191 +#: ex_cmds.c:5231 #, c-format msgid "E150: Not a directory: %s" msgstr "E150: No es un directorio: %s" -#: ex_cmds.c:5332 +#: ex_cmds.c:5372 #, c-format msgid "E152: Cannot open %s for writing" msgstr "E152: No se puede abrir %s para escritura." -#: ex_cmds.c:5368 +#: ex_cmds.c:5408 #, c-format msgid "E153: Unable to open %s for reading" msgstr "E153: Incapaz de abrir %s para lectura" -#: ex_cmds.c:5404 +#: ex_cmds.c:5444 #, c-format msgid "E670: Mix of help file encodings within a language: %s" msgstr "" "E670: Mezcla de codificaciones de ficheros de ayuda dentro de un lenguaje: %s" -#: ex_cmds.c:5483 +#: ex_cmds.c:5523 #, c-format msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: Tag «%s» duplicada en el fichero %s/%s" -#: ex_cmds.c:5599 +#: ex_cmds.c:5639 #, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: Comando desconocido de signo: %s" -#: ex_cmds.c:5619 +#: ex_cmds.c:5659 msgid "E156: Missing sign name" msgstr "E156: Falta el nombre del signo." -#: ex_cmds.c:5665 +#: ex_cmds.c:5705 msgid "E612: Too many signs defined" msgstr "E612: Demasiados signos definidos." -#: ex_cmds.c:5733 +#: ex_cmds.c:5773 #, c-format msgid "E239: Invalid sign text: %s" msgstr "E239: Texto de signo no válido: %s" -#: ex_cmds.c:5764 ex_cmds.c:5955 +#: ex_cmds.c:5804 ex_cmds.c:5995 #, c-format msgid "E155: Unknown sign: %s" msgstr "E155: Signo desconocida: %s" -#: ex_cmds.c:5813 +#: ex_cmds.c:5853 msgid "E159: Missing sign number" msgstr "E159: Falta el número del signo." -#: ex_cmds.c:5895 +#: ex_cmds.c:5935 #, c-format msgid "E158: Invalid buffer name: %s" msgstr "E159: El nombre del «buffer» no es válido: %s" -#: ex_cmds.c:5934 +#: ex_cmds.c:5974 #, c-format msgid "E157: Invalid sign ID: %ld" msgstr "E157: El id del signo no es válido: %ld" -#: ex_cmds.c:6004 +#: ex_cmds.c:6044 msgid " (NOT FOUND)" msgstr " (NO ENCONTRADO)" -#: ex_cmds.c:6006 +#: ex_cmds.c:6046 msgid " (not supported)" msgstr " (no hay apoyo para la función pedida)" -#: ex_cmds.c:6105 +#: ex_cmds.c:6145 msgid "[Deleted]" msgstr "[Suprimido]" @@ -952,7 +965,7 @@ msgstr "[Suprimido]" msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Entrando al modo de depuración. Oprima \"cont\" para continuar." -#: ex_cmds2.c:96 ex_docmd.c:968 +#: ex_cmds2.c:96 ex_docmd.c:1005 #, c-format msgid "line %ld: %s" msgstr "línea %ld: %s" @@ -967,301 +980,324 @@ msgstr "cmd: %s" msgid "Breakpoint in \"%s%s\" line %ld" msgstr "«Breakpoint» en «%s%s» línea %ld" -#: ex_cmds2.c:539 +#: ex_cmds2.c:561 #, c-format msgid "E161: Breakpoint not found: %s" msgstr "E161: No se ha encontrado el «breakpoint»: %s" -#: ex_cmds2.c:565 +#: ex_cmds2.c:587 msgid "No breakpoints defined" msgstr "No hay «breakpoints» definidos." -#: ex_cmds2.c:570 +#: ex_cmds2.c:592 #, c-format msgid "%3d %s %s line %ld" msgstr "%3d %s %s línea %ld" -#: ex_cmds2.c:785 +#: ex_cmds2.c:807 #, c-format msgid "Save changes to \"%.*s\"?" msgstr "¿Guardar los cambios en «%.*s»?" -#: ex_cmds2.c:787 ex_docmd.c:9407 +#: ex_cmds2.c:809 ex_docmd.c:9472 msgid "Untitled" msgstr "Sin título" -#: ex_cmds2.c:914 +#: ex_cmds2.c:936 #, c-format msgid "E162: No write since last change for buffer \"%s\"" msgstr "E162: No se ha grabado nada desde el último cambio en el buffer «%s»" -#: ex_cmds2.c:983 +#: ex_cmds2.c:1007 msgid "Warning: Entered other buffer unexpectedly (check autocommands)" msgstr "" "Advertencia: se ha entrado en otro «buffer» en forma inesperada (verifique " "los autocomandos)." -#: ex_cmds2.c:1386 +#: ex_cmds2.c:1411 msgid "E163: There is only one file to edit" msgstr "E163: Hay sólo un fichero que editar." -#: ex_cmds2.c:1388 +#: ex_cmds2.c:1413 msgid "E164: Cannot go before first file" msgstr "E164: No se puede ir antes del primer fichero." -#: ex_cmds2.c:1390 +#: ex_cmds2.c:1415 msgid "E165: Cannot go beyond last file" msgstr "E165: No se puede ir más allá del último fichero." -#: ex_cmds2.c:1803 +#: ex_cmds2.c:1828 #, c-format msgid "E666: compiler not supported: %s" msgstr "E666: El compilador no tiene apoyo en esta versión: %s" -#: ex_cmds2.c:1900 +#: ex_cmds2.c:1925 #, c-format msgid "Searching for \"%s\" in \"%s\"" msgstr "Buscando «%s» en «%s»." -#: ex_cmds2.c:1922 +#: ex_cmds2.c:1947 #, c-format msgid "Searching for \"%s\"" msgstr "Buscando «%s»." -#: ex_cmds2.c:1944 +#: ex_cmds2.c:1969 #, c-format msgid "not found in 'runtimepath': \"%s\"" msgstr "No se ha encontrado en «runtimepath»: «%s»" -#: ex_cmds2.c:1978 +#: ex_cmds2.c:2003 msgid "Source Vim script" msgstr "Ejecute script de Vim." -#: ex_cmds2.c:2168 +#: ex_cmds2.c:2193 #, c-format msgid "Cannot source a directory: \"%s\"" msgstr "No se puede ejecutar un directorio: «%s»." -#: ex_cmds2.c:2206 +#: ex_cmds2.c:2231 #, c-format msgid "could not source \"%s\"" msgstr "No se pudo ejecutar «%s»." -#: ex_cmds2.c:2208 +#: ex_cmds2.c:2233 #, c-format msgid "line %ld: could not source \"%s\"" msgstr "línea %ld: no se pudo ejecutar «%s»." -#: ex_cmds2.c:2222 +#: ex_cmds2.c:2247 #, c-format msgid "sourcing \"%s\"" msgstr "ejecutando «%s»." -#: ex_cmds2.c:2224 +#: ex_cmds2.c:2249 #, c-format msgid "line %ld: sourcing \"%s\"" msgstr "línea %ld: ejecutando «%s»." -#: ex_cmds2.c:2367 +#: ex_cmds2.c:2392 #, c-format msgid "finished sourcing %s" msgstr "La ejecución de «%s» ha terminado." -#: ex_cmds2.c:2711 +#: ex_cmds2.c:2738 msgid "W15: Warning: Wrong line separator, ^M may be missing" msgstr "W15: Advertencia: separador de línea equivocado, puede que falte ^M" -#: ex_cmds2.c:2760 +#: ex_cmds2.c:2788 msgid "E167: :scriptencoding used outside of a sourced file" msgstr "" "E167: Ha usado «:scriptencoding» fuera de un fichero de instrucciones " "ejecutables." -#: ex_cmds2.c:2793 +#: ex_cmds2.c:2821 msgid "E168: :finish used outside of a sourced file" msgstr "" "E168: Ha usado «:finish» fuera de un fichero de instrucciones ejecutables." -#: ex_cmds2.c:3242 +#: ex_cmds2.c:3270 #, c-format msgid "Page %d" msgstr "Página %d" -#: ex_cmds2.c:3398 +#: ex_cmds2.c:3426 msgid "No text to be printed" msgstr "No hay texto que imprimir." -#: ex_cmds2.c:3476 +#: ex_cmds2.c:3504 #, c-format msgid "Printing page %d (%d%%)" msgstr "Imprimiendo la página %d (%d%%)." -#: ex_cmds2.c:3488 +#: ex_cmds2.c:3516 #, c-format msgid " Copy %d of %d" msgstr "Copia %d de %d" -#: ex_cmds2.c:3546 +#: ex_cmds2.c:3574 #, c-format msgid "Printed: %s" msgstr "Impreso: %s." -#: ex_cmds2.c:3553 +#: ex_cmds2.c:3581 +#, c-format msgid "Printing aborted" msgstr "Impresión abortada." -#: ex_cmds2.c:3918 +#: ex_cmds2.c:4235 msgid "E455: Error writing to PostScript output file" msgstr "E455: Error escribiendo al fichero PostScript de salida." -#: ex_cmds2.c:4193 +#: ex_cmds2.c:4695 #, c-format msgid "E624: Can't open file \"%s\"" msgstr "E456: No se puede abrir el fichero «%s»." -#: ex_cmds2.c:4203 ex_cmds2.c:4828 +#: ex_cmds2.c:4705 ex_cmds2.c:5579 #, c-format msgid "E457: Can't read PostScript resource file \"%s\"" msgstr "E457: No se puede leer el fichero de recursos de PostScript «%s»." -#: ex_cmds2.c:4211 +#: ex_cmds2.c:4721 #, c-format msgid "E618: file \"%s\" is not a PostScript resource file" msgstr "E618: El fichero \"%s\" no es un fichero de recursos PostScript." -#: ex_cmds2.c:4226 ex_cmds2.c:4246 ex_cmds2.c:4261 ex_cmds2.c:4283 +#: ex_cmds2.c:4739 ex_cmds2.c:4758 ex_cmds2.c:4803 #, c-format msgid "E619: file \"%s\" is not a supported PostScript resource file" msgstr "E619: El fichero «%s» no es un recurso PostScript que pueda usar." -#: ex_cmds2.c:4313 +#: ex_cmds2.c:4822 #, c-format msgid "E621: \"%s\" resource file has wrong version" msgstr "E621: El fichero de recursos «%s» tiene la versión equivocada." -#: ex_cmds2.c:4780 +#: ex_cmds2.c:5300 +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "" +"E673: La codificación «multi-byte» y el código de página en uso son " +"incompatibles." + +#: ex_cmds2.c:5317 +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "" +"E674: «printmbcharset» no puede estar vacio cuando se usa una codificación " +"«multi-byte»." + +#: ex_cmds2.c:5335 +msgid "E675: No default font specfifed for multi-byte printing." +msgstr "" +"E675: No ha especificado una fuente de impresión por defecto para la " +"impresión «multi-byte»." + +#: ex_cmds2.c:5528 msgid "E324: Can't open PostScript output file" msgstr "E324: No puedo abrir el fichero PostScript de salida." -#: ex_cmds2.c:4813 +#: ex_cmds2.c:5565 #, c-format msgid "E456: Can't open file \"%s\"" msgstr "E456: No puedo abrir el fichero «%s»." -#: ex_cmds2.c:4932 +#: ex_cmds2.c:5696 msgid "E456: Can't find PostScript resource file \"prolog.ps\"" msgstr "E456: No encuentro el fichero de recursos PostScript «prolog.ps»." -#: ex_cmds2.c:4963 +#: ex_cmds2.c:5709 +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: No hallo el fichero de recursos PostScript «cidfont.ps»." + +#: ex_cmds2.c:5747 ex_cmds2.c:5769 ex_cmds2.c:5798 #, c-format msgid "E456: Can't find PostScript resource file \"%s.ps\"" msgstr "E456: No hallo el fichero de recursos PostScript «%s.ps»." -#: ex_cmds2.c:4981 +#: ex_cmds2.c:5785 #, c-format -msgid "E620: Unable to convert from multi-byte to \"%s\" encoding" -msgstr "E620: No puedo convertir de «multi-byte» a la codificación \"%s\"." +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: No puedo convertir a la codificación de impresión «%s»." -#: ex_cmds2.c:5106 +#: ex_cmds2.c:6039 msgid "Sending to printer..." msgstr "Envíando a la impresora..." -#: ex_cmds2.c:5110 +#: ex_cmds2.c:6043 msgid "E365: Failed to print PostScript file" msgstr "E365: No pude imprimir el fichero PostScript." -#: ex_cmds2.c:5112 +#: ex_cmds2.c:6045 msgid "Print job sent." msgstr "Tarea de impresión envíada." -#: ex_cmds2.c:5622 +#: ex_cmds2.c:6650 #, c-format msgid "Current %slanguage: \"%s\"" msgstr "Idioma actual «%s»: «%s»." -#: ex_cmds2.c:5633 +#: ex_cmds2.c:6661 #, c-format msgid "E197: Cannot set language to \"%s\"" msgstr "E197: No se puede establecer la opción del idioma a «%s»." -#: ex_docmd.c:525 +#: ex_docmd.c:586 msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "Entrando al modo Ex. Escriba «visual» para ir al modo Normal." # must be at EOF #. must be at EOF -#: ex_docmd.c:561 +#: ex_docmd.c:622 msgid "E501: At end-of-file" msgstr "E501: Estoy al final del fichero." -#: ex_docmd.c:670 +#: ex_docmd.c:721 msgid "E169: Command too recursive" msgstr "E169: El comando recurre excesivamente." -#: ex_docmd.c:1232 +#: ex_docmd.c:1269 #, c-format msgid "E605: Exception not caught: %s" msgstr "E605: La excepción %s no se atrapó." -#: ex_docmd.c:1320 +#: ex_docmd.c:1357 msgid "End of sourced file" msgstr "Fin del fichero de instrcucciones ejecutables." -#: ex_docmd.c:1321 +#: ex_docmd.c:1358 msgid "End of function" msgstr "Fin de la función." -#: ex_docmd.c:1910 +#: ex_docmd.c:1932 msgid "E464: Ambiguous use of user-defined command" msgstr "E464: Uso ambiguo de un comando definido por el usuario." -#: ex_docmd.c:1924 +#: ex_docmd.c:1946 msgid "E492: Not an editor command" msgstr "E371: No es un comando del editor." -#: ex_docmd.c:2031 +#: ex_docmd.c:2053 msgid "E493: Backwards range given" msgstr "E493: Me ha dado un rango invertido." -#: ex_docmd.c:2040 +#: ex_docmd.c:2062 msgid "Backwards range given, OK to swap" msgstr "Me ha dado un rango invertido, ¿está bien intercambiarlo?" -#: ex_docmd.c:2163 +#: ex_docmd.c:2185 msgid "E494: Use w or w>>" msgstr "E494: Use «w» o «w>>»." -#: ex_docmd.c:3789 +#: ex_docmd.c:3817 msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Lo siento, el comando no está disponible en esta versión." -#: ex_docmd.c:3992 +#: ex_docmd.c:4031 msgid "E172: Only one file name allowed" msgstr "E172: Sólo se permite un nombre de fichero." -#: ex_docmd.c:4572 +#: ex_docmd.c:4623 msgid "1 more file to edit. Quit anyway?" msgstr "Un fichero más para editar. ¿Termino de todas formas?" -#: ex_docmd.c:4575 +#: ex_docmd.c:4626 #, c-format msgid "%d more files to edit. Quit anyway?" msgstr "Hay %d ficheros más en edición. ¿Termino de todas formas?" -#: ex_docmd.c:4582 +#: ex_docmd.c:4633 msgid "E173: 1 more file to edit" msgstr "E173: Un fichero más para editar." -#: ex_docmd.c:4584 +#: ex_docmd.c:4635 #, c-format msgid "E173: %ld more files to edit" msgstr "E173: Hay %ld ficheros en edición." -#: ex_docmd.c:4679 +#: ex_docmd.c:4730 msgid "E174: Command already exists: add ! to replace it" msgstr "E174: El comando ya existe. Añada «!» para reemplazarlo." -#: ex_docmd.c:4790 +#: ex_docmd.c:4841 msgid "" "\n" " Name Args Range Complete Definition" @@ -1269,191 +1305,191 @@ msgstr "" "\n" " Nombre Args Rango Completar Definición" -#: ex_docmd.c:4879 +#: ex_docmd.c:4930 msgid "No user-defined commands found" msgstr "No se han encontrado comandos definidos por el usuario" -#: ex_docmd.c:4911 +#: ex_docmd.c:4962 msgid "E175: No attribute specified" msgstr "E175: No se ha especificado el atributo." -#: ex_docmd.c:4963 +#: ex_docmd.c:5014 msgid "E176: Invalid number of arguments" msgstr "E176: El número de argumentos no es válido." -#: ex_docmd.c:4978 +#: ex_docmd.c:5029 msgid "E177: Count cannot be specified twice" msgstr "E177: El recuento no se puede especificar dos veces." -#: ex_docmd.c:4988 +#: ex_docmd.c:5039 msgid "E178: Invalid default value for count" msgstr "E178: El valor predeterminado para el recuento no es válido." -#: ex_docmd.c:5019 +#: ex_docmd.c:5070 msgid "E179: argument required for complete" msgstr "E179: se necesita un argumento para completar." -#: ex_docmd.c:5051 +#: ex_docmd.c:5102 #, c-format msgid "E180: Invalid complete value: %s" msgstr "E180: El valor para completar no es válido: %s." -#: ex_docmd.c:5060 +#: ex_docmd.c:5111 msgid "E468: Completion argument only allowed for custom completion" msgstr "" "E468: El argumento de finalización solo se permite en finalizaciones " "definidas por el usuario." -#: ex_docmd.c:5066 +#: ex_docmd.c:5117 msgid "E467: Custom completion requires a function argument" msgstr "" "E467: Las finalizatines definidad por el usuario requieren de un argumento " "de función." -#: ex_docmd.c:5077 +#: ex_docmd.c:5128 #, c-format msgid "E181: Invalid attribute: %s" msgstr "E181: El atributo no es válido: %s" -#: ex_docmd.c:5120 +#: ex_docmd.c:5171 msgid "E182: Invalid command name" msgstr "E182: El nombre de comando no es válido." -#: ex_docmd.c:5135 +#: ex_docmd.c:5186 msgid "E183: User defined commands must start with an uppercase letter" msgstr "" "E183: Los comandos definidos por el usuario deben comenzar con una letra " "mayúscula." -#: ex_docmd.c:5206 +#: ex_docmd.c:5257 #, c-format msgid "E184: No such user-defined command: %s" msgstr "E184: No existe tal comando definido por el usuario: %s" -#: ex_docmd.c:5667 +#: ex_docmd.c:5718 #, c-format msgid "E185: Cannot find color scheme %s" msgstr "E185: No se puede encontrar el esquema de colores %s" -#: ex_docmd.c:5675 +#: ex_docmd.c:5726 msgid "Greetings, Vim user!" msgstr "¡Saludos, usuario de Vim!" -#: ex_docmd.c:6396 +#: ex_docmd.c:6447 msgid "Edit File in new window" msgstr "Editar fichero en una ventana nueva" -#: ex_docmd.c:6697 +#: ex_docmd.c:6748 msgid "No swap file" msgstr "No hay fichero de intercambio" -#: ex_docmd.c:6801 +#: ex_docmd.c:6852 msgid "Append File" msgstr "Añadir fichero" -#: ex_docmd.c:6865 +#: ex_docmd.c:6916 msgid "E186: No previous directory" msgstr "E186: No hay directorio previo." -#: ex_docmd.c:6947 +#: ex_docmd.c:6998 msgid "E187: Unknown" msgstr "E187: Desconocido." -#: ex_docmd.c:7032 +#: ex_docmd.c:7083 msgid "E465: :winsize requires two number arguments" msgstr "E465: «:winsize» requiere de dos argumentos numéricos." -#: ex_docmd.c:7088 +#: ex_docmd.c:7143 #, c-format msgid "Window position: X %d, Y %d" msgstr "Posición de la ventana: X %d, Y %d" -#: ex_docmd.c:7093 +#: ex_docmd.c:7148 msgid "E188: Obtaining window position not implemented for this platform" msgstr "" "E188: La obtención de la posición de la ventana no está implementada en esta " "plataforma." -#: ex_docmd.c:7103 +#: ex_docmd.c:7158 msgid "E466: :winpos requires two number arguments" msgstr "E466: «:winpos» require de dos argumentos numéricos." -#: ex_docmd.c:7381 +#: ex_docmd.c:7440 msgid "Save Redirection" msgstr "Guardar redirección." -#: ex_docmd.c:7571 +#: ex_docmd.c:7630 msgid "Save View" msgstr "Guardar vista" -#: ex_docmd.c:7572 +#: ex_docmd.c:7631 msgid "Save Session" msgstr "Guardar sesión" -#: ex_docmd.c:7574 +#: ex_docmd.c:7633 msgid "Save Setup" msgstr "Guardar configuración" -#: ex_docmd.c:7726 +#: ex_docmd.c:7785 #, c-format msgid "E189: \"%s\" exists (add ! to override)" msgstr "E189: \"%s\" ya existe (añada ! para sobreescribir.)" -#: ex_docmd.c:7731 +#: ex_docmd.c:7790 #, c-format msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: No se puede abrir «%s» para escritura" # set mark #. set mark -#: ex_docmd.c:7755 +#: ex_docmd.c:7814 msgid "E191: Argument must be a letter or forward/backward quote" msgstr "" "E191: El argumento debe ser una letra o un apóstrofo/apóstrofo invertido" -#: ex_docmd.c:7797 +#: ex_docmd.c:7856 msgid "E192: Recursive use of :normal too deep" msgstr "E192: Uso recursivo demasiado profundo de «:normal»." -#: ex_docmd.c:8315 +#: ex_docmd.c:8380 msgid "E194: No alternate file name to substitute for '#'" msgstr "E194: No hay un nombre de fichero alternativo que sustituya a «#»." -#: ex_docmd.c:8346 +#: ex_docmd.c:8411 msgid "E495: no autocommand file name to substitute for \"<afile>\"" msgstr "" "E495: No ha dado un nombre de fichero de autocomandos para sustituir a " "\"<afile>\"" -#: ex_docmd.c:8354 +#: ex_docmd.c:8419 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\"" msgstr "" "E496: No existe un «buffer» de autocomando para sustituir por \"<abuf>\"" -#: ex_docmd.c:8365 +#: ex_docmd.c:8430 msgid "E497: no autocommand match name to substitute for \"<amatch>\"" msgstr "" "E497: Ningún nombre de autocomando concuerda para sustituir «<amatch>»." -#: ex_docmd.c:8375 +#: ex_docmd.c:8440 msgid "E498: no :source file name to substitute for \"<sfile>\"" msgstr "" "E498: No hay un nombre de fichero «:source» que sustituya a \"<sfile>\"." -#: ex_docmd.c:8416 +#: ex_docmd.c:8481 #, no-c-format msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" msgstr "E499: Un nombre de fichero vacio solo funciona con \":p:h\"." -#: ex_docmd.c:8418 +#: ex_docmd.c:8483 msgid "E500: Evaluates to an empty string" msgstr "E500: La expresión evalua a un «string» vacio." -#: ex_docmd.c:9389 +#: ex_docmd.c:9454 msgid "E195: Cannot open viminfo file for reading" msgstr "E195: No se puede abrir el fichero «viminfo» para lectura." -#: ex_docmd.c:9562 +#: ex_docmd.c:9627 msgid "E196: No digraphs in this version" msgstr "E196: No hay dígrafos en esta versión." @@ -1514,7 +1550,7 @@ msgstr "Exepción." msgid "Error and interrupt" msgstr "Error e interrupción" -#: ex_eval.c:754 gui.c:4384 +#: ex_eval.c:754 gui.c:4387 msgid "Error" msgstr "Error" @@ -1596,19 +1632,19 @@ msgstr "E602: :endtry sin un :try" msgid "E193: :endfunction not inside a function" msgstr "E193: «:endfunction» no está dentro de una función." -#: ex_getln.c:3299 +#: ex_getln.c:3396 msgid "tagname" msgstr "Nombre del «tag»" -#: ex_getln.c:3302 +#: ex_getln.c:3399 msgid " kind file\n" msgstr " tipo de fichero\n" -#: ex_getln.c:4768 +#: ex_getln.c:4874 msgid "'history' option is zero" msgstr "La opción 'history' es cero." -#: ex_getln.c:5039 +#: ex_getln.c:5145 #, c-format msgid "" "\n" @@ -1617,35 +1653,35 @@ msgstr "" "\n" "# Historia de «%s» (de lo más nuevo a lo más antiguo):\n" -#: ex_getln.c:5040 +#: ex_getln.c:5146 msgid "Command Line" msgstr "Línea de comandos" -#: ex_getln.c:5041 +#: ex_getln.c:5147 msgid "Search String" msgstr "Cadena de búsqueda" -#: ex_getln.c:5042 +#: ex_getln.c:5148 msgid "Expression" msgstr "Expresión" -#: ex_getln.c:5043 +#: ex_getln.c:5149 msgid "Input Line" msgstr "Línea de entrada" -#: ex_getln.c:5081 +#: ex_getln.c:5187 msgid "E198: cmd_pchar beyond the command length" msgstr "E198: «cmd_pchar» más allá de la longitud del comando." -#: ex_getln.c:5258 +#: ex_getln.c:5368 msgid "E199: Active window or buffer deleted" -msgstr "E199: Se ha suprimido la ventana o el buffer activos." +msgstr "E199: Se ha eliminado la ventana o el buffer activos." #: fileio.c:378 msgid "Illegal file name" msgstr "Nombre de fichero ilegal" -#: fileio.c:402 fileio.c:540 fileio.c:2925 fileio.c:2966 +#: fileio.c:402 fileio.c:540 fileio.c:2919 fileio.c:2960 msgid "is a directory" msgstr "es un directorio" @@ -1653,7 +1689,7 @@ msgstr "es un directorio" msgid "is not a file" msgstr "no es un fichero" -#: fileio.c:562 fileio.c:4143 +#: fileio.c:562 fileio.c:4139 msgid "[New File]" msgstr "[Fichero nuevo]" @@ -1683,208 +1719,212 @@ msgstr "Leyendo la entrada estándar..." msgid "E202: Conversion made file unreadable!" msgstr "E202: ¡La conversión ha hecho el fichero ilegible!" -#: fileio.c:2102 +#: fileio.c:2076 msgid "[fifo/socket]" msgstr "[fifo/socket]" -#: fileio.c:2109 +#: fileio.c:2083 msgid "[fifo]" msgstr "[fifo]" -#: fileio.c:2116 +#: fileio.c:2090 msgid "[socket]" msgstr "[socket]" -#: fileio.c:2124 +#: fileio.c:2098 msgid "[RO]" msgstr "[RO]" -#: fileio.c:2134 +#: fileio.c:2108 msgid "[CR missing]" msgstr "[Falta un CR]" -#: fileio.c:2139 +#: fileio.c:2113 msgid "[NL found]" msgstr "[Se ha encontrado un NL]" -#: fileio.c:2144 +#: fileio.c:2118 msgid "[long lines split]" msgstr "[he partido las líneas largas]" -#: fileio.c:2150 fileio.c:4127 +#: fileio.c:2124 fileio.c:4123 msgid "[NOT converted]" msgstr "[NO convertido]" -#: fileio.c:2155 fileio.c:4132 +#: fileio.c:2129 fileio.c:4128 msgid "[converted]" msgstr "[convertido]" -#: fileio.c:2162 fileio.c:4157 +#: fileio.c:2136 fileio.c:4153 msgid "[crypted]" msgstr "[encriptado]" -#: fileio.c:2169 +#: fileio.c:2143 msgid "[CONVERSION ERROR]" msgstr "[ERROR DE CONVERSIÓN]" -#: fileio.c:2175 +#: fileio.c:2149 #, c-format msgid "[ILLEGAL BYTE in line %ld]" msgstr "[BYTE ILEGAL en la línea %ld]" -#: fileio.c:2182 +#: fileio.c:2156 msgid "[READ ERRORS]" msgstr "[ERRORES DE LECTURA]" -#: fileio.c:2398 +#: fileio.c:2372 msgid "Can't find temp file for conversion" msgstr "No se puede encontrar el fichero temporal para la conversión." -#: fileio.c:2405 +#: fileio.c:2379 msgid "Conversion with 'charconvert' failed" msgstr "La conversión con '«charconvert»' ha fallado." -#: fileio.c:2408 +#: fileio.c:2382 msgid "can't read output of 'charconvert'" msgstr "No puedo leer la salida de «charconvert»." -#: fileio.c:2808 +#: fileio.c:2775 +msgid "E676: No matching autocommands for acwrite buffer" +msgstr "E676: No existe ningún autocomando para el «buffer» «acwrite»." + +#: fileio.c:2802 msgid "E203: Autocommands deleted or unloaded buffer to be written" msgstr "" -"E203: Los autocomandos fueron suprimidos o el «buffer» se descargó para ser " +"E203: Los autocomandos fueron eliminados o el «buffer» se descargó para ser " "grabado en disco." -#: fileio.c:2831 +#: fileio.c:2825 msgid "E204: Autocommand changed number of lines in unexpected way" msgstr "" "E204: El autocomando ha cambiado el número de líneas en forma inesperada." -#: fileio.c:2869 +#: fileio.c:2863 msgid "NetBeans dissallows writes of unmodified buffers" msgstr "NetBeans no permite que se escriba sobre «buffers» sin modificar." -#: fileio.c:2877 +#: fileio.c:2871 msgid "Partial writes disallowed for NetBeans buffers" msgstr "No se permite la escritura parcial de los «buffers» de NetBeans." -#: fileio.c:2931 fileio.c:2949 +#: fileio.c:2925 fileio.c:2943 msgid "is not a file or writable device" msgstr "no es un fichero o dispositivo en el que se pueda escribir." -#: fileio.c:3001 +#: fileio.c:2995 msgid "is read-only (add ! to override)" msgstr "Es de solo lectura (añada ! para obreescribir)." -#: fileio.c:3347 +#: fileio.c:3341 msgid "E506: Can't write to backup file (add ! to override)" msgstr "" "E506: No puedo escribir al fichero de respaldo (añada ! para forzar el " "comando)." -#: fileio.c:3359 +#: fileio.c:3353 msgid "E507: Close error for backup file (add ! to override)" msgstr "" "E507: Error al cerrar el fichero de la copia de respaldo (añada ! para " "forzar el comando)." -#: fileio.c:3361 +#: fileio.c:3355 msgid "E508: Can't read file for backup (add ! to override)" msgstr "" "E508: No puedo leer el fichero para crear la copia de respaldo (añada ! para " "forzar el comando)." -#: fileio.c:3377 +#: fileio.c:3371 msgid "E509: Cannot create backup file (add ! to override)" msgstr "" "E509: No puedo crear el fichero para la copia de respaldo (añada ! para " "forzar el comando)." -#: fileio.c:3480 +#: fileio.c:3474 msgid "E510: Can't make backup file (add ! to override)" msgstr "" "E510: No puedo hacer un fichero de copia de respaldo (añada ! para forzar el " "comando)." -#: fileio.c:3542 +#: fileio.c:3536 msgid "E460: The resource fork would be lost (add ! to override)" msgstr "" "E460: Se perdería el segmento («fork») de recursos! (añada ! para forzar el " "comando)." -#: fileio.c:3652 +#: fileio.c:3646 msgid "E214: Can't find temp file for writing" msgstr "E214: No puedo encontrar el fichero temporal para escribir en él." -#: fileio.c:3670 +#: fileio.c:3664 msgid "E213: Cannot convert (add ! to write without conversion)" msgstr "" "E213: No puedo convertirlo (añada ! para escribir el fichero sin conversión)." -#: fileio.c:3705 +#: fileio.c:3699 msgid "E166: Can't open linked file for writing" msgstr "E166: No puedo abrir el fichero enlazado para escribir en él." -#: fileio.c:3709 +#: fileio.c:3703 msgid "E212: Can't open file for writing" msgstr "E212: No puedo abrir el fichero para escribir en él." -#: fileio.c:3971 +#: fileio.c:3967 msgid "E667: Fsync failed" msgstr "E667: falló «fsync»" -#: fileio.c:3978 +#: fileio.c:3974 msgid "E512: Close failed" msgstr "E314: Falló el cierre del fichero." -#: fileio.c:4049 +#: fileio.c:4045 msgid "E513: write error, conversion failed" msgstr "E513: Error de escritura, la conversión falló." -#: fileio.c:4055 +#: fileio.c:4051 msgid "E514: write error (file system full?)" msgstr "E514: Error de escritura (¿Sistema de ficheros lleno?" -#: fileio.c:4122 +#: fileio.c:4118 msgid " CONVERSION ERROR" msgstr "ERROR DE CONVERSIÓN" -#: fileio.c:4138 +#: fileio.c:4134 msgid "[Device]" msgstr "[Dispositivo]" -#: fileio.c:4143 +#: fileio.c:4139 msgid "[New]" msgstr "[Nuevo]" -#: fileio.c:4165 +#: fileio.c:4161 msgid " [a]" msgstr " [a]" -#: fileio.c:4165 +#: fileio.c:4161 msgid " appended" msgstr " añadido" -#: fileio.c:4167 +#: fileio.c:4163 msgid " [w]" msgstr " [w]" -#: fileio.c:4167 +#: fileio.c:4163 msgid " written" msgstr " escritos" -#: fileio.c:4217 +#: fileio.c:4213 msgid "E205: Patchmode: can't save original file" msgstr "E205: Modo «patch»: no se puede guardar el fichero original." -#: fileio.c:4239 +#: fileio.c:4235 msgid "E206: patchmode: can't touch empty original file" msgstr "E206: Modo «patch»: no se puede tocar el fichero original vacío." -#: fileio.c:4254 +#: fileio.c:4250 msgid "E207: Can't delete backup file" -msgstr "E207: No se puede borrar el fichero de respaldo." +msgstr "E207: No se puede eliminar el fichero de respaldo." -#: fileio.c:4318 +#: fileio.c:4314 msgid "" "\n" "WARNING: Original file may be lost or damaged\n" @@ -1892,57 +1932,57 @@ msgstr "" "\n" "AVISO: el fichero original puede haberse perdido o haberse dañado\n" -#: fileio.c:4320 +#: fileio.c:4316 msgid "don't quit the editor until the file is successfully written!" msgstr "¡no salga del editor hasta que el fichero se haya escrito!" -#: fileio.c:4409 +#: fileio.c:4405 msgid "[dos]" msgstr "[DOS]" -#: fileio.c:4409 +#: fileio.c:4405 msgid "[dos format]" msgstr "[formato DOS]" -#: fileio.c:4416 +#: fileio.c:4412 msgid "[mac]" msgstr "[Mac]" -#: fileio.c:4416 +#: fileio.c:4412 msgid "[mac format]" msgstr "[formato Mac]" -#: fileio.c:4423 +#: fileio.c:4419 msgid "[unix]" msgstr "[UNIX]" -#: fileio.c:4423 +#: fileio.c:4419 msgid "[unix format]" msgstr "[formato UNIX]" -#: fileio.c:4450 +#: fileio.c:4446 msgid "1 line, " msgstr "1 línea, " -#: fileio.c:4452 +#: fileio.c:4448 #, c-format msgid "%ld lines, " msgstr "%ld líneas, " -#: fileio.c:4455 +#: fileio.c:4451 msgid "1 character" msgstr "1 carácter" -#: fileio.c:4457 +#: fileio.c:4453 #, c-format msgid "%ld characters" msgstr "%ld caracteres" -#: fileio.c:4467 +#: fileio.c:4463 msgid "[noeol]" msgstr "[no hay fin de línea]" -#: fileio.c:4467 +#: fileio.c:4463 msgid "[Incomplete last line]" msgstr "[Última línea incompleta]" @@ -1952,39 +1992,39 @@ msgstr "[Última línea incompleta]" #. don't overwrite messages here #. must give this prompt #. don't use emsg() here, don't want to flush the buffers -#: fileio.c:4486 +#: fileio.c:4482 msgid "WARNING: The file has been changed since reading it!!!" msgstr "ADVERTENCIA: ¡¡¡El fichero ha cambiado desde que se leyó!!!" -#: fileio.c:4488 +#: fileio.c:4484 msgid "Do you really want to write to it" msgstr "¿Quiere realmente escribir a él?" -#: fileio.c:5741 +#: fileio.c:5710 #, c-format msgid "E208: Error writing to \"%s\"" msgstr "E208: Error al escribir a «%s»." -#: fileio.c:5748 +#: fileio.c:5717 #, c-format msgid "E209: Error closing \"%s\"" msgstr "E209: Error al cerrar «%s»." -#: fileio.c:5751 +#: fileio.c:5720 #, c-format msgid "E210: Error reading \"%s\"" msgstr "E210: Error al leer «%s»." -#: fileio.c:5985 +#: fileio.c:5954 msgid "E246: FileChangedShell autocommand deleted buffer" -msgstr "E246: el autocomando «FileChangedShell» ha borrado el buffer." +msgstr "E246: el autocomando «FileChangedShell» ha eliminado el buffer." -#: fileio.c:5992 +#: fileio.c:5961 #, c-format msgid "E211: Warning: File \"%s\" no longer available" msgstr "E211: Advertencia: el fichero «%s» ya no está disponible" -#: fileio.c:6006 +#: fileio.c:5975 #, c-format msgid "" "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " @@ -1993,35 +2033,35 @@ msgstr "" "W12: Advertencia: el fichero «%s» ha cambiado y el buffer fue cambiado " "también en Vim." -#: fileio.c:6009 +#: fileio.c:5978 #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" msgstr "" "W11: Advertencia: el fichero «%s» ha cambiado desde que comenzó la edición." -#: fileio.c:6011 +#: fileio.c:5980 #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" msgstr "" "W16: Advertencia: el modo del fichero «%s» ha cambiado desde que comenzó la " "edición." -#: fileio.c:6021 +#: fileio.c:5990 #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" msgstr "" "W13: Advertencia: el fichero «%s» ha sido creado después de comenzar la " "edición." -#: fileio.c:6034 +#: fileio.c:6003 msgid "See \":help W11\" for more info." msgstr "Vea «:help w11» para más información." -#: fileio.c:6048 +#: fileio.c:6017 msgid "Warning" msgstr "Advertencia" -#: fileio.c:6049 +#: fileio.c:6018 msgid "" "&OK\n" "&Load File" @@ -2029,45 +2069,45 @@ msgstr "" "&OK\n" "&Cargar fichero" -#: fileio.c:6155 +#: fileio.c:6120 #, c-format msgid "E462: Could not prepare for reloading \"%s\"" msgstr "E462: No pude prepararme para recargar a \"%s\"." -#: fileio.c:6174 +#: fileio.c:6139 #, c-format msgid "E321: Could not reload \"%s\"" msgstr "E321: No se pudo recargar «%s»." -#: fileio.c:6755 +#: fileio.c:6725 msgid "--Deleted--" msgstr "--Suprimido--" # the group doesn't exist #. the group doesn't exist -#: fileio.c:6915 +#: fileio.c:6885 #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: No existe el grupo: «%s»." -#: fileio.c:7041 +#: fileio.c:7011 #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: Carácter ilegal después de *: «%s»." -#: fileio.c:7053 +#: fileio.c:7023 #, c-format msgid "E216: No such event: %s" msgstr "E216: No existe tal hecho: «%s»" -#: fileio.c:7055 +#: fileio.c:7025 #, c-format msgid "E216: No such group or event: %s" msgstr "E216: No existe tal grupo o evento: %s" # Highlight title #. Highlight title -#: fileio.c:7213 +#: fileio.c:7183 msgid "" "\n" "--- Auto-Commands ---" @@ -2075,42 +2115,42 @@ msgstr "" "\n" "--- Auto-comandos ---" -#: fileio.c:7484 +#: fileio.c:7454 msgid "E217: Can't execute autocommands for ALL events" msgstr "" "E217: No se pueden ejecutar los autocomandos para TODOS los eventos de " "ejecución." -#: fileio.c:7507 +#: fileio.c:7477 msgid "No matching autocommands" msgstr "Ningún autocomando coincide." -#: fileio.c:7828 +#: fileio.c:7798 msgid "E218: autocommand nesting too deep" msgstr "E218: El autocomando se anida en demasiados bucles." -#: fileio.c:8103 +#: fileio.c:8073 #, c-format msgid "%s Auto commands for \"%s\"" msgstr "%s Auto comandos para «%s»" -#: fileio.c:8111 +#: fileio.c:8081 #, c-format msgid "Executing %s" msgstr "Ejecutando %s" # always scroll up, don't overwrite #. always scroll up, don't overwrite -#: fileio.c:8179 +#: fileio.c:8149 #, c-format msgid "autocommand %s" msgstr "autocomando %s" -#: fileio.c:8746 +#: fileio.c:8716 msgid "E219: Missing {." msgstr "E219: Falta un {." -#: fileio.c:8748 +#: fileio.c:8718 msgid "E220: Missing }." msgstr "E220: Falta un }." @@ -2124,45 +2164,45 @@ msgstr "E350: No puedo crear el pliegue con el 'folmethod' activo." #: fold.c:595 msgid "E351: Cannot delete fold with current 'foldmethod'" -msgstr "E351: No puedo borrar el pliegue con el 'foldmethod' activo." +msgstr "E351: No puedo eliminar el pliegue con el 'foldmethod' activo." -#: getchar.c:248 +#: getchar.c:249 msgid "E222: Add to read buffer" msgstr "E222: Añadir al «buffer» de lectura" -#: getchar.c:2208 +#: getchar.c:2216 msgid "E223: recursive mapping" msgstr "E223: asociación recursiva" -#: getchar.c:3087 +#: getchar.c:3096 #, c-format msgid "E224: global abbreviation already exists for %s" msgstr "E224: ya existe una abreviatura global para «%s»." -#: getchar.c:3090 +#: getchar.c:3099 #, c-format msgid "E225: global mapping already exists for %s" msgstr "E225: ya existe una asociación global para «%s»." -#: getchar.c:3222 +#: getchar.c:3231 #, c-format msgid "E226: abbreviation already exists for %s" msgstr "E226: ya existe una abreviatura para «%s»." -#: getchar.c:3225 +#: getchar.c:3234 #, c-format msgid "E227: mapping already exists for %s" msgstr "E227: ya existe una asociación para «%s»." -#: getchar.c:3289 +#: getchar.c:3298 msgid "No abbreviation found" msgstr "No encontré ninguna abreviatura." -#: getchar.c:3291 +#: getchar.c:3300 msgid "No mapping found" msgstr "No encontré ninguna asociación." -#: getchar.c:4183 +#: getchar.c:4192 msgid "E228: makemap: Illegal mode" msgstr "E228: «makemap»: modo ilegal." @@ -2189,7 +2229,7 @@ msgstr "E231: El valor de «guifontwide» no es válido." msgid "E599: Value of 'imactivatekey' is invalid" msgstr "E599: El valor de «imactivatekey» no es válido." -#: gui.c:4064 +#: gui.c:4068 #, c-format msgid "E254: Cannot allocate color %s" msgstr "E254: No se puede asignar el color «%s»." @@ -2232,7 +2272,7 @@ msgstr "Scrollbar Widget: No pude obtener la geometría del «pixmap» miniatura." msgid "Vim dialog" msgstr "Diálogo de Vim" -#: gui_beval.c:101 gui_w32.c:3978 +#: gui_beval.c:101 gui_w32.c:3980 msgid "E232: Cannot create BalloonEval with both message and callback" msgstr "" "E232: No puedo crear un «BalloonEval» que contenga tanto el mensaje como el " @@ -2242,7 +2282,7 @@ msgstr "" msgid "Vim dialog..." msgstr "Diálogo de Vim..." -#: gui_gtk.c:2060 message.c:3005 +#: gui_gtk.c:2060 message.c:3012 msgid "" "&Yes\n" "&No\n" @@ -2322,7 +2362,7 @@ msgstr "Vim: La ventana principal fue destruida inesperadamente.\n" msgid "Font Selection" msgstr "Selección de tipos de letra" -#: gui_gtk_x11.c:6035 ui.c:2120 +#: gui_gtk_x11.c:6053 ui.c:2120 msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "Se ha usado «CUT_BUFFER0» en vez de una selección vacía." @@ -2368,17 +2408,17 @@ msgstr "" "\n" "Enviando mensaje para terminar los procesos dependientes («hijo»).\n" -#: gui_w32.c:839 +#: gui_w32.c:841 #, c-format msgid "E671: Cannot find window title \"%s\"" msgstr "E671: No puedo encontrar el título de la ventana «%s»." -#: gui_w32.c:847 +#: gui_w32.c:849 #, c-format msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." msgstr "E243: Argumento no admitido: «-%s»; use la versión OLE." -#: gui_w32.c:1100 +#: gui_w32.c:1102 msgid "E672: Unable to open window inside MDI application" msgstr "E672: No puedo abrir una ventana dentro de la aplicación MDI." @@ -2637,6 +2677,76 @@ msgstr "no hay conexiones «cscope»\n" msgid " # pid database name prepend path\n" msgstr " nº pid base de datos prefijo ruta\n" +#: if_mzsch.c:843 if_python.c:1080 if_tcl.c:1402 +msgid "invalid expression" +msgstr "Expresión no válida." + +#: if_mzsch.c:851 if_python.c:1094 if_tcl.c:1407 +msgid "expressions disabled at compile time" +msgstr "Expresiones desactivadas al compilar." + +#: if_mzsch.c:938 +msgid "hidden option" +msgstr "Opción oculta." + +#: if_mzsch.c:940 if_tcl.c:501 +msgid "unknown option" +msgstr "Opción desconocida." + +#: if_mzsch.c:1089 +msgid "window index is out of range" +msgstr "El índice de la ventana está fuera del rango." + +#: if_mzsch.c:1244 +msgid "couldn't open buffer" +msgstr "no pude abrir el «buffer»." + +#: if_mzsch.c:1509 if_mzsch.c:1535 if_mzsch.c:1610 if_mzsch.c:1659 +#: if_mzsch.c:1768 if_mzsch.c:1811 if_python.c:2307 if_python.c:2341 +#: if_python.c:2396 if_python.c:2464 if_python.c:2586 if_python.c:2638 +#: if_tcl.c:684 if_tcl.c:729 if_tcl.c:803 if_tcl.c:873 if_tcl.c:1999 +msgid "cannot save undo information" +msgstr "No puedo guardar la información para deshacer." + +#: if_mzsch.c:1514 if_mzsch.c:1618 if_mzsch.c:1672 if_python.c:2309 +#: if_python.c:2403 if_python.c:2475 +msgid "cannot delete line" +msgstr "no puedo eliminar la línea" + +#: if_mzsch.c:1540 if_mzsch.c:1686 if_python.c:2346 if_python.c:2491 +#: if_tcl.c:690 if_tcl.c:2021 +msgid "cannot replace line" +msgstr "no puedo reemplazar la línea" + +#: if_mzsch.c:1700 if_mzsch.c:1773 if_mzsch.c:1820 if_python.c:2509 +#: if_python.c:2588 if_python.c:2646 +msgid "cannot insert line" +msgstr "no puedo insertar la línea" + +#: if_mzsch.c:1916 if_python.c:2758 +msgid "string cannot contain newlines" +msgstr "La cadena no puede contener quiebres de línea" + +#: if_mzsch.c:1999 +msgid "Vim error: ~a" +msgstr "error de vim: «~a»" + +#: if_mzsch.c:2008 +msgid "Vim error" +msgstr "error de vim" + +#: if_mzsch.c:2064 +msgid "buffer is invalid" +msgstr "el «buffer» no es válido." + +#: if_mzsch.c:2073 +msgid "window is invalid" +msgstr "la ventana no es válida" + +#: if_mzsch.c:2093 +msgid "linenr out of range" +msgstr "número de línea fuera del rango." + #: if_python.c:436 msgid "" "E263: Sorry, this command is disabled, the Python library could not be " @@ -2651,7 +2761,7 @@ msgstr "E659: No puedo invocar a Python recursivamente." #: if_python.c:701 msgid "can't delete OutputObject attributes" -msgstr "no se pueden borrar los atributos de «OutputObject»." +msgstr "no se pueden eliminar los atributos de «OutputObject»." #: if_python.c:708 msgid "softspace must be an integer" @@ -2669,17 +2779,9 @@ msgstr "«writelines()» requiere una lista de cadenas." msgid "E264: Python: Error initialising I/O objects" msgstr "E264: Python: error de inicialización de objetos de E/S." -#: if_python.c:1080 if_tcl.c:1402 -msgid "invalid expression" -msgstr "expresión no válida." - -#: if_python.c:1094 if_tcl.c:1407 -msgid "expressions disabled at compile time" -msgstr "expresiones desactivadas al compilar." - #: if_python.c:1107 msgid "attempt to refer to deleted buffer" -msgstr "intento de referirse a un buffer suprimido." +msgstr "intento de referirse a un buffer eliminado." #: if_python.c:1122 if_python.c:1163 if_python.c:1227 if_tcl.c:1214 msgid "line number out of range" @@ -2688,7 +2790,7 @@ msgstr "número de la línea fuera del rango." #: if_python.c:1362 #, c-format msgid "<buffer object (deleted) at %8lX>" -msgstr "<objeto «buffer» (suprimido) en %8lX>" +msgstr "<objeto «buffer» (eliminado) en %8lX>" #: if_python.c:1453 if_tcl.c:836 msgid "invalid mark name" @@ -2700,7 +2802,7 @@ msgstr "no existe tal buffer" #: if_python.c:1821 msgid "attempt to refer to deleted window" -msgstr "intento de referirse a una ventana suprimida" +msgstr "intento de referirse a una ventana eliminada" #: if_python.c:1866 msgid "readonly attribute" @@ -2713,7 +2815,7 @@ msgstr "posición del cursor fuera del buffer" #: if_python.c:1956 #, c-format msgid "<window object (deleted) at %.8lX>" -msgstr "<objeto ventana (suprimido) en %.8lX>" +msgstr "<objeto ventana (eliminado) en %.8lX>" #: if_python.c:1968 #, c-format @@ -2729,28 +2831,6 @@ msgstr "<ventana %d>" msgid "no such window" msgstr "no existe tal ventana" -#: if_python.c:2307 if_python.c:2341 if_python.c:2396 if_python.c:2464 -#: if_python.c:2586 if_python.c:2638 if_tcl.c:684 if_tcl.c:729 if_tcl.c:803 -#: if_tcl.c:873 if_tcl.c:1999 -msgid "cannot save undo information" -msgstr "No puedo guardar la información para deshacer." - -#: if_python.c:2309 if_python.c:2403 if_python.c:2475 -msgid "cannot delete line" -msgstr "no puedo suprimir la línea" - -#: if_python.c:2346 if_python.c:2491 if_tcl.c:690 if_tcl.c:2021 -msgid "cannot replace line" -msgstr "no puedo reemplazar la línea" - -#: if_python.c:2509 if_python.c:2588 if_python.c:2646 -msgid "cannot insert line" -msgstr "no puedo insertar la línea" - -#: if_python.c:2750 -msgid "string cannot contain newlines" -msgstr "La cadena no puede contener quiebres de línea" - #: if_ruby.c:422 msgid "" "E266: Sorry, this command is disabled, the Ruby library could not be loaded." @@ -2888,10 +2968,6 @@ msgstr "número de «buffer» no válido" msgid "not implemented yet" msgstr "no implementado aún" -#: if_tcl.c:501 -msgid "unknown option" -msgstr "opción desconocida" - # ??? #. ??? #: if_tcl.c:774 @@ -2929,7 +3005,7 @@ msgstr "error de vim" #: if_tcl.c:1471 msgid "cannot create buffer/window command: object is being deleted" -msgstr "no puedo crear el comando de buffer/ventana: el objeto será suprimido" +msgstr "no puedo crear el comando de buffer/ventana: el objeto será eliminado" #: if_tcl.c:1545 msgid "" @@ -2980,12 +3056,12 @@ msgstr "Incapaz de registrar un nombre de servidor de comandos" msgid "E248: Failed to send command to the destination program" msgstr "E248: No pude enviar el comando al programa de destino" -#: if_xcmdsrv.c:747 +#: if_xcmdsrv.c:748 #, c-format msgid "E573: Invalid server id used: %s" msgstr "E573: El ID del usuario del servidor no es válido: «%s»." -#: if_xcmdsrv.c:1110 +#: if_xcmdsrv.c:1111 msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: VIM instance registry property is badly formed. Deleted!" @@ -3054,7 +3130,7 @@ msgstr "Línea de comandos anter de «vimrc»" msgid "E282: Cannot read from \"%s\"" msgstr "E282: No puedo leer desde «%s»" -#: main.c:2420 +#: main.c:2423 msgid "" "\n" "More info with: \"vim -h\"\n" @@ -3062,23 +3138,23 @@ msgstr "" "\n" "Más información con: «vim -h»\n" -#: main.c:2453 +#: main.c:2456 msgid "[file ..] edit specified file(s)" msgstr "[fichero ...] edita el/los fichero(s) especificado(s)" -#: main.c:2454 +#: main.c:2457 msgid "- read text from stdin" msgstr "- lee texto de la entrada estándar" -#: main.c:2455 +#: main.c:2458 msgid "-t tag edit file where tag is defined" msgstr "-t «tag» edita el fichero donde está definido «tag»" -#: main.c:2457 +#: main.c:2460 msgid "-q [errorfile] edit file with first error" msgstr "-q [fich. err.] edita el fichero con el primer error" -#: main.c:2466 +#: main.c:2469 msgid "" "\n" "\n" @@ -3088,11 +3164,11 @@ msgstr "" "\n" "Uso:" -#: main.c:2469 +#: main.c:2472 msgid " vim [arguments] " msgstr " vim [argumentos]" -#: main.c:2473 +#: main.c:2476 msgid "" "\n" " or:" @@ -3100,7 +3176,7 @@ msgstr "" "\n" " o:" -#: main.c:2476 +#: main.c:2479 msgid "" "\n" "\n" @@ -3110,258 +3186,258 @@ msgstr "" "\n" "Argumentos:\n" -#: main.c:2477 +#: main.c:2480 msgid "--\t\t\tOnly file names after this" msgstr "--\t\t\tSólo nombres de ficheros después de esto" -#: main.c:2479 +#: main.c:2482 msgid "--literal\t\tDon't expand wildcards" msgstr "--literal\t\tNo expandir comodines" -#: main.c:2482 +#: main.c:2485 msgid "-register\t\tRegister this gvim for OLE" msgstr "-register\t\tRegistrar este «gvim» para «OLE»" -#: main.c:2483 +#: main.c:2486 msgid "-unregister\t\tUnregister gvim for OLE" msgstr "-unregister\t\tSuprimir el registro de gvim para OLE" -#: main.c:2486 +#: main.c:2489 msgid "-g\t\t\tRun using GUI (like \"gvim\")" msgstr "-g\t\t\tEjecutar usando el GUI (como «gvim»)" -#: main.c:2487 +#: main.c:2490 msgid "-f or --nofork\tForeground: Don't fork when starting GUI" msgstr "" "-f o --nofork\tPrimer plano: No separarse («fork») cuando se inicia la " "interface gráfica (GUI)." -#: main.c:2489 +#: main.c:2492 msgid "-v\t\t\tVi mode (like \"vi\")" msgstr "-v\t\t\tModo Vi (como «vi»)" -#: main.c:2490 +#: main.c:2493 msgid "-e\t\t\tEx mode (like \"ex\")" msgstr "-e\t\t\tModo Ex (como «ex»)" -#: main.c:2491 +#: main.c:2494 msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" msgstr "-s\t\t\tModo silencioso o «batch» (sólo para «ex»)" -#: main.c:2493 +#: main.c:2496 msgid "-d\t\t\tDiff mode (like \"vimdiff\")" msgstr "-d\t\t\tModo «diff» (como «vimdiff»)" -#: main.c:2495 +#: main.c:2498 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" msgstr "-y\t\t\tModo fácil (como «evim», sin modo)" -#: main.c:2496 +#: main.c:2499 msgid "-R\t\t\tReadonly mode (like \"view\")" msgstr "-R\t\t\tModo de sólo lectura (como «view»)" -#: main.c:2497 +#: main.c:2500 msgid "-Z\t\t\tRestricted mode (like \"rvim\")" msgstr "-Z\t\t\tModo restringido (como «rvim»)" -#: main.c:2498 +#: main.c:2501 msgid "-m\t\t\tModifications (writing files) not allowed" msgstr "-m\t\t\tModificaciones no permitidas (escritura de ficheros)" -#: main.c:2499 +#: main.c:2502 msgid "-M\t\t\tModifications in text not allowed" msgstr "-M\t\t\tModificaciones en el texto no permitidas" -#: main.c:2500 +#: main.c:2503 msgid "-b\t\t\tBinary mode" msgstr "-b\t\t\tModo binario" -#: main.c:2502 +#: main.c:2505 msgid "-l\t\t\tLisp mode" msgstr "-l\t\t\tModo lisp" -#: main.c:2504 +#: main.c:2507 msgid "-C\t\t\tCompatible with Vi: 'compatible'" msgstr "-C\t\t\tCompatible con Vi: 'compatible'" -#: main.c:2505 +#: main.c:2508 msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" msgstr "-N\t\t\tNo totalmente compatible con Vi: 'nocompatible'" -#: main.c:2506 +#: main.c:2509 msgid "-V[N]\t\tVerbose level" msgstr "-V[N]\t\tNivel de detalle de la ejecución" -#: main.c:2507 +#: main.c:2510 msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tModo de depuración" -#: main.c:2508 +#: main.c:2511 msgid "-n\t\t\tNo swap file, use memory only" msgstr "-n\t\t\tSin fichero de intercambio, usa sólo la memoria" -#: main.c:2509 +#: main.c:2512 msgid "-r\t\t\tList swap files and exit" msgstr "-r\t\t\tDar una lista de los fichero de intercambio y salir" -#: main.c:2510 +#: main.c:2513 msgid "-r (with file name)\tRecover crashed session" msgstr "-r (con nombre del fichero)\tRecuperar sesión fallida" -#: main.c:2511 +#: main.c:2514 msgid "-L\t\t\tSame as -r" msgstr "-L\t\t\tIgual que -r" -#: main.c:2513 +#: main.c:2516 msgid "-f\t\t\tDon't use newcli to open window" msgstr "-f\t\t\tNo usar «newcli» para abrir la ventana" -#: main.c:2514 +#: main.c:2517 msgid "-dev <device>\t\tUse <device> for I/O" msgstr "-dev <dispositivo>\t\tUse <dispositivo> para E/S" -#: main.c:2517 +#: main.c:2520 msgid "-A\t\t\tstart in Arabic mode" msgstr "-A\t\t\tIniciar en modo árabe" -#: main.c:2520 +#: main.c:2523 msgid "-H\t\t\tStart in Hebrew mode" msgstr "-H\t\t\tIniciar en modo hebreo" -#: main.c:2523 +#: main.c:2526 msgid "-F\t\t\tStart in Farsi mode" msgstr "-F\t\t\tIniciar en modo persa (farsi)" -#: main.c:2525 +#: main.c:2528 msgid "-T <terminal>\tSet terminal type to <terminal>" msgstr "-T <terminal>\tDetermina el tipo de terminal a <<terminal>>" -#: main.c:2526 +#: main.c:2529 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\tUsa <vimrc> en lugar de cualquier .vimrc" -#: main.c:2528 +#: main.c:2531 msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" msgstr "-U <gvimrc>\t\tUsa <gvimrc> en lugar de cualquier .gvimrc" -#: main.c:2530 +#: main.c:2533 msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\t\tNo carga los «plugin scripts»" -#: main.c:2531 +#: main.c:2534 msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "-o[N]\t\tAbre N ventanas (valor predeterminado: una por fichero)" -#: main.c:2532 +#: main.c:2535 msgid "-O[N]\t\tLike -o but split vertically" msgstr "-O[N]\t\tComo «-o» pero divide las ventanas verticalmente." -#: main.c:2533 +#: main.c:2536 msgid "+\t\t\tStart at end of file" msgstr "+\t\t\tComienza al final del fichero" -#: main.c:2534 +#: main.c:2537 msgid "+<lnum>\t\tStart at line <lnum>" msgstr "+<lnum>\t\tComienza en la línea <lnum>" -#: main.c:2536 +#: main.c:2539 msgid "--cmd <command>\tExecute <command> before loading any vimrc file" msgstr "--cmd <comando>\tEjecuta <comando> antes de cargar algún fichero vimrc" -#: main.c:2538 +#: main.c:2541 msgid "-c <command>\t\tExecute <command> after loading the first file" msgstr "-c <comando>\t\tEjecuta <comando> después de cargar el primer fichero" -#: main.c:2539 +#: main.c:2542 msgid "-S <session>\t\tSource file <session> after loading the first file" msgstr "" "-S <sesión>\t\tEjecuta los comandos del fichero <sesión> después\n" " \t\tde cargar el primer fichero" -#: main.c:2540 +#: main.c:2543 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" msgstr "-s <scriptin>\tLee los comandos en modo Normal del fichero <scriptin>" -#: main.c:2541 +#: main.c:2544 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" msgstr "" "-w <scriptout>\tAñade todos los comandos escritos al fichero <scriptout>" -#: main.c:2542 +#: main.c:2545 msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" msgstr "" "-W <scriptout>\tGraba todos los comandos escritos al fichero <scriptout>" -#: main.c:2544 +#: main.c:2547 msgid "-x\t\t\tEdit encrypted files" msgstr "-x\t\t\tEdita ficheros cifrados" -#: main.c:2548 +#: main.c:2551 msgid "-display <display>\tConnect vim to this particular X-server" msgstr "-display <pantalla>\tConecta vim a este servidor X11 en particular" -#: main.c:2550 +#: main.c:2553 msgid "-X\t\t\tDo not connect to X server" msgstr "-X\t\t\tNo se conecta al servidor X11" -#: main.c:2553 +#: main.c:2556 msgid "--remote <files>\tEdit <files> in a Vim server if possible" msgstr "" "--remote <ficheros>\tEdita los <ficheros> en un servidor Vim si es posible." -#: main.c:2554 +#: main.c:2557 msgid "--remote-silent <files> Same, don't complain if there is no server" msgstr "" "--remote-silent <ficheros> Lo mismo pero no se queja si no existe un " "servidor disponible." -#: main.c:2555 +#: main.c:2558 msgid "" "--remote-wait <files> As --remote but wait for files to have been edited" msgstr "" "--remote-wait <ficheros>\tComo --remote pero espera a que los ficheros " "terminen de editarse" -#: main.c:2556 +#: main.c:2559 msgid "" "--remote-wait-silent <files> Same, don't complain if there is no server" msgstr "" "--remote-wait-silent <ficheros> Lo mismo pero no se queja si no hay un " "servidor disponible." -#: main.c:2557 +#: main.c:2560 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" msgstr "--remote-send <teclas>\tEnvía <teclas> a un servidor Vim y sale" -#: main.c:2558 +#: main.c:2561 msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" msgstr "" "--remote-expr <expr>\tEvalúa <expr> en servidor Vim e imprime el resultado" -#: main.c:2559 +#: main.c:2562 msgid "--serverlist\t\tList available Vim server names and exit" msgstr "" "--serverlist\t\tEmite una lista de los servidores Vim disponibles y sale" -#: main.c:2560 +#: main.c:2563 msgid "--servername <name>\tSend to/become the Vim server <name>" msgstr "" "--servername <nombre>\tEnvía a/se convierte en el servidor Vim de nombre " "<nombre>" -#: main.c:2563 +#: main.c:2566 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" msgstr "-i <viminfo>\t\tUsa <viminfo> en lugar de .viminfo" -#: main.c:2565 +#: main.c:2568 msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h or --help\tImprime la ayuda de comandos (este mensaje) y termina." -#: main.c:2566 +#: main.c:2569 msgid "--version\t\tPrint version information and exit" msgstr "--version\t\tImprime la información de versión y termina." -#: main.c:2570 +#: main.c:2573 msgid "" "\n" "Arguments recognised by gvim (Motif version):\n" @@ -3369,7 +3445,7 @@ msgstr "" "\n" "Argumentos reconocidos por gvim (versión Motif):\n" -#: main.c:2574 +#: main.c:2577 msgid "" "\n" "Arguments recognised by gvim (neXtaw version):\n" @@ -3377,7 +3453,7 @@ msgstr "" "\n" "Argumentos reconocidos por gvim (versión neXtaw):\n" -#: main.c:2576 +#: main.c:2579 msgid "" "\n" "Arguments recognised by gvim (Athena version):\n" @@ -3385,76 +3461,76 @@ msgstr "" "\n" "Argumentos reconocidos por gvim (versión Athena):\n" -#: main.c:2580 +#: main.c:2583 msgid "-display <display>\tRun vim on <display>" msgstr "-display <pantalla>\tEjecuta vim en <pantalla>" -#: main.c:2581 +#: main.c:2584 msgid "-iconic\t\tStart vim iconified" msgstr "-iconic\t\tArranca vim «iconizado»" -#: main.c:2583 +#: main.c:2586 msgid "-name <name>\t\tUse resource as if vim was <name>" msgstr "-name <nombre>\t\tUsa un recurso como si vim fuese <nombre>" -#: main.c:2584 +#: main.c:2587 msgid "\t\t\t (Unimplemented)\n" msgstr "\t\t\t (Sin implementar)\n" -#: main.c:2586 +#: main.c:2589 msgid "-background <color>\tUse <color> for the background (also: -bg)" msgstr "-background <color>\tUsa <color> para el fondo (también: -bg)" -#: main.c:2587 +#: main.c:2590 msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" msgstr "-foreground <color>\tUsa <color> para el texto normal (también: -fg)" -#: main.c:2588 main.c:2608 +#: main.c:2591 main.c:2611 main.c:2627 msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" msgstr "" "-font <tipo>\t\tUsa <fuente de impresión> para el texto normal (también: -fn)" -#: main.c:2589 +#: main.c:2592 msgid "-boldfont <font>\tUse <font> for bold text" msgstr "-boldfont <tipo>\tUsa <fuente de impresión> para texto en negrita" -#: main.c:2590 +#: main.c:2593 msgid "-italicfont <font>\tUse <font> for italic text" msgstr "-italicfont <tipo>\tUsa <fuente de impresión> para texto en cursiva" -#: main.c:2591 main.c:2609 +#: main.c:2594 main.c:2612 main.c:2628 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" msgstr "" "-geometry <geom>\tUsa <geom> para la geometría inicial (también: -geom)" -#: main.c:2592 +#: main.c:2595 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" msgstr "-borderwidth <ancho>\tUsa un ancho de borde de <ancho> (también: -bw)" -#: main.c:2593 +#: main.c:2596 msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" msgstr "" "-scrollbarwidth <ancho> Usa una barra de desplazamiento de ancho <ancho> " "(también: -sw)" -#: main.c:2595 +#: main.c:2598 msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" msgstr "" "-menuheight <alt>\tUsa una barra de menú de altura <alt> (también: -mh)" -#: main.c:2597 main.c:2610 +#: main.c:2600 main.c:2613 msgid "-reverse\t\tUse reverse video (also: -rv)" msgstr "-reverse\t\tUsar vídeo inverso (también: -rv)" -#: main.c:2598 +#: main.c:2601 msgid "+reverse\t\tDon't use reverse video (also: +rv)" msgstr "+reverse\t\tNo usar vídeo inverso (también: +rv)" -#: main.c:2599 +#: main.c:2602 msgid "-xrm <resource>\tSet the specified resource" msgstr "-xrm <recurso>\tEstablece el recurso especificado" -#: main.c:2602 +#: main.c:2605 msgid "" "\n" "Arguments recognised by gvim (RISC OS version):\n" @@ -3462,15 +3538,15 @@ msgstr "" "\n" "Argumentos reconocidos por gvim (versión para RISC OS):\n" -#: main.c:2603 +#: main.c:2606 msgid "--columns <number>\tInitial width of window in columns" msgstr "--columns <número>\tAnchura inicial de la ventana, en columnas" -#: main.c:2604 +#: main.c:2607 msgid "--rows <number>\tInitial height of window in rows" msgstr "--rows <número>\tAltura inicial de la ventana, en filas" -#: main.c:2607 +#: main.c:2610 msgid "" "\n" "Arguments recognised by gvim (GTK+ version):\n" @@ -3478,50 +3554,74 @@ msgstr "" "\n" "Argumentos reconocidos por gvim (versión GTK+):\n" -#: main.c:2611 +#: main.c:2614 msgid "-display <display>\tRun vim on <display> (also: --display)" msgstr "-display <pantalla>\tEjecuta vim en <pantalla> (también: --display)" -#: main.c:2613 +#: main.c:2616 msgid "--role <role>\tSet a unique role to identify the main window" msgstr "" "--role <role>\tDefine un rol único para identificar la ventana principal." -#: main.c:2615 +#: main.c:2618 msgid "--socketid <xid>\tOpen Vim inside another GTK widget" msgstr "--socketid <xid>\tAbre a Vim dentro de otro «widget» GTK." -#: main.c:2618 +#: main.c:2621 +msgid "" +"\n" +"Arguments recognised by kvim (KDE version):\n" +msgstr "" +"\n" +"Argumentos reconocidos por kvim (versión KDE):\n" + +#: main.c:2622 +msgid "-black\t\tUse reverse video" +msgstr "-black\t\tUsar vídeo inverso" + +#: main.c:2624 +msgid "-tip\t\t\tDisplay the tip dialog on startup" +msgstr "-tip\t\t\tMostrar diálogo de consejos al iniciar" + +#: main.c:2625 +msgid "-notip\t\tDisable the tip dialog" +msgstr "-notip\t\tNo mostrar diálog de consejos al iniciar" + +#: main.c:2629 +msgid "--display <display>\tRun vim on <display>" +msgstr "--display <pantalla>\tEjecuta vim en <pantalla>" + +#: main.c:2632 msgid "-P <parent title>\tOpen Vim inside parent application" msgstr "-P <título ventana padre>\tAbrir a Vim dentro de la aplicación padre." -#: main.c:2856 +#: main.c:2870 msgid "No display" msgstr "No hay una ventana" # Failed to send, abort. #. Failed to send, abort. -#: main.c:2871 +#: main.c:2885 msgid ": Send failed.\n" msgstr ": Falló el envio.\n" # Let vim start normally. #. Let vim start normally. -#: main.c:2877 +#: main.c:2891 msgid ": Send failed. Trying to execute locally\n" msgstr "" ": Falló el inicio de sesión remota («send»). Intentado una ejecución local.\n" -#: main.c:2915 main.c:2936 +#: main.c:2929 main.c:2950 #, c-format msgid "%d of %d edited" msgstr "%d de %d editados" -#: main.c:2958 +#: main.c:2972 msgid "No display: Send expression failed.\n" msgstr "No hay una ventana en el destino: El envio de la expresión falló.\n" -#: main.c:2970 +#: main.c:2984 msgid ": Send expression failed.\n" msgstr ": Falló el envio de la expresión.\n" @@ -3565,6 +3665,7 @@ msgstr "" "marca línea col fichero/texto" #: mark.c:1281 +#, c-format msgid "" "\n" "# File marks:\n" @@ -3575,6 +3676,7 @@ msgstr "" # Write the jumplist with -' #. Write the jumplist with -' #: mark.c:1316 +#, c-format msgid "" "\n" "# Jumplist (newest first):\n" @@ -3583,6 +3685,7 @@ msgstr "" "# Lista de saltos (el más reciente va primero):\n" #: mark.c:1412 +#, c-format msgid "" "\n" "# History of marks within files (newest to oldest):\n" @@ -3599,39 +3702,39 @@ msgstr "Falta «>»" msgid "E543: Not a valid codepage" msgstr "E543: No es una página de código válida." -#: mbyte.c:4431 +#: mbyte.c:4438 msgid "E284: Cannot set IC values" msgstr "E284: No se pueden fijar los valores IC" -#: mbyte.c:4583 +#: mbyte.c:4594 msgid "E285: Failed to create input context" msgstr "E285: Falló la creación del contexto de entrada" -#: mbyte.c:4741 +#: mbyte.c:4752 msgid "E286: Failed to open input method" msgstr "E286: Falló la apertura del método de entrada" -#: mbyte.c:4752 +#: mbyte.c:4763 msgid "E287: Warning: Could not set destroy callback to IM" msgstr "E287: Advertencia: No pude crear un callbacl de destrucción al IM." -#: mbyte.c:4758 +#: mbyte.c:4769 msgid "E288: input method doesn't support any style" msgstr "E288: el método de entrada no admite ningún estilo" -#: mbyte.c:4815 +#: mbyte.c:4826 msgid "E289: input method doesn't support my preedit type" msgstr "E289: El método de entrada no soporta mi tipo de preedición." -#: mbyte.c:4889 +#: mbyte.c:4900 msgid "E290: over-the-spot style requires fontset" msgstr "E290: El estilo «sobre el punto» requiere del uso de un «fontset»." -#: mbyte.c:4925 +#: mbyte.c:4936 msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled" msgstr "E291: Su GTK+ es anterior a 1.2.3. Área de estado desactivada" -#: mbyte.c:5232 +#: mbyte.c:5243 msgid "E292: Input Method Server is not running" msgstr "E292: El servidor de método de entrada (IME) no está funcionando" @@ -3659,59 +3762,59 @@ msgstr "E297: Error de escritura en el fichero de intercambio" msgid "E300: Swap file already exists (symlink attack?)" msgstr "E300: Ya existe un fichero de intercambio (¿ataque de symlink?)" -#: memline.c:275 +#: memline.c:278 msgid "E298: Didn't get block nr 0?" msgstr "E298: ¿No se obtuvo el bloque nº 0?" -#: memline.c:315 +#: memline.c:318 msgid "E298: Didn't get block nr 1?" msgstr "E298: ¿No se obtuvo el bloque nº 1?" -#: memline.c:333 +#: memline.c:336 msgid "E298: Didn't get block nr 2?" msgstr "E298: ¿No se obtuvo el bloque nº 2?" # could not (re)open the swap file, what can we do???? #. could not (re)open the swap file, what can we do???? -#: memline.c:444 +#: memline.c:447 msgid "E301: Oops, lost the swap file!!!" msgstr "E301: ¡¡¡Eeeh, se ha perdido el fichero de intercambio!!!" -#: memline.c:449 +#: memline.c:452 msgid "E302: Could not rename swap file" msgstr "E302: No se pudo cambiar el nombre del fichero de intercambio" -#: memline.c:519 +#: memline.c:522 #, c-format msgid "E303: Unable to open swap file for \"%s\", recovery impossible" msgstr "" "E303: Incapaz de abrir el fichero de intercambio para «%s», recuperación " "imposible" -#: memline.c:618 +#: memline.c:621 msgid "E304: ml_timestamp: Didn't get block 0??" msgstr "E304: «ml_timestamp»: ¿No se obtuvo el bloque 0?" -#: memline.c:758 +#: memline.c:761 #, c-format msgid "E305: No swap file found for %s" msgstr "E305: No se encontró el fichero de intercambio para %s" -#: memline.c:768 +#: memline.c:771 msgid "Enter number of swap file to use (0 to quit): " msgstr "" "Introduzca el número del fichero de intercambio a usar (0 para salir): " -#: memline.c:813 +#: memline.c:816 #, c-format msgid "E306: Cannot open %s" msgstr "E306: No puedo abrir %s" -#: memline.c:835 +#: memline.c:838 msgid "Unable to read block 0 from " msgstr "Incapaz de leer el bloque 0 de " -#: memline.c:838 +#: memline.c:841 msgid "" "\n" "Maybe no changes were made or Vim did not update the swap file." @@ -3719,28 +3822,28 @@ msgstr "" "\n" "Tal vez no se han hecho cambios o Vim no actualizó el fichero de intercambio" -#: memline.c:848 memline.c:865 +#: memline.c:851 memline.c:868 msgid " cannot be used with this version of Vim.\n" msgstr " no puede usarse con esta versión de Vim.\n" -#: memline.c:850 +#: memline.c:853 msgid "Use Vim version 3.0.\n" msgstr "Use la versión 3.0 de Vim.\n" -#: memline.c:856 +#: memline.c:859 #, c-format msgid "E307: %s does not look like a Vim swap file" msgstr "E307: %s no parece un fichero de intercambio de Vim" -#: memline.c:869 +#: memline.c:872 msgid " cannot be used on this computer.\n" msgstr "no puede usarse en este ordenador.\n" -#: memline.c:871 +#: memline.c:874 msgid "The file was created on " msgstr "El fichero fue creado el " -#: memline.c:875 +#: memline.c:878 msgid "" ",\n" "or the file has been damaged." @@ -3748,83 +3851,84 @@ msgstr "" ",\n" "o el fichero ha sido dañado." -#: memline.c:904 +#: memline.c:907 #, c-format msgid "Using swap file \"%s\"" msgstr "Usando el fichero de intercambio «%s»" -#: memline.c:910 +#: memline.c:913 #, c-format msgid "Original file \"%s\"" msgstr "Fichero original «%s»" -#: memline.c:923 +#: memline.c:926 msgid "E308: Warning: Original file may have been changed" msgstr "E308: Advertencia: el fichero original puede haber sido cambiado" -#: memline.c:976 +#: memline.c:979 #, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: Incapaz de leer el bloque 1 de %s" -#: memline.c:980 +#: memline.c:983 msgid "???MANY LINES MISSING" msgstr "???FALTAN MUCHAS LÍNEAS" -#: memline.c:996 +#: memline.c:999 msgid "???LINE COUNT WRONG" msgstr "???RECUENTO DE LÍNEAS EQUIVOCADO" -#: memline.c:1003 +#: memline.c:1006 msgid "???EMPTY BLOCK" msgstr "???BLOQUE VACÍO" -#: memline.c:1029 +#: memline.c:1032 msgid "???LINES MISSING" msgstr "???FALTAN LÍNEAS" -#: memline.c:1061 +#: memline.c:1064 #, c-format msgid "E310: Block 1 ID wrong (%s not a .swp file?)" msgstr "E310: ID del bloque 1 equivocado (¿no es %s un fichero .swp?)" -#: memline.c:1066 +#: memline.c:1069 msgid "???BLOCK MISSING" msgstr "???FALTA UN BLOQUE" -#: memline.c:1082 +#: memline.c:1085 msgid "??? from here until ???END lines may be messed up" msgstr "??? desde aquí hast ???FIN las líneas pueden estar desordenadas" -#: memline.c:1098 +#: memline.c:1101 msgid "??? from here until ???END lines may have been inserted/deleted" msgstr "" -"??? desde aquí hasta ???FIN las líneas pueden haber sido insertadas/borradas" +"??? desde aquí hasta ???FIN las líneas pueden haber sido insertadas/" +"eliminadas" -#: memline.c:1118 +#: memline.c:1121 msgid "???END" msgstr "???FIN" -#: memline.c:1144 +#: memline.c:1147 msgid "E311: Recovery Interrupted" msgstr "E311: Recuperación interrumpida" -#: memline.c:1149 +#: memline.c:1152 msgid "" "E312: Errors detected while recovering; look for lines starting with ???" msgstr "" "E312: Se han detectado errores al recuperar; busque líneas que empiecen " "con ???" -#: memline.c:1151 +#: memline.c:1154 msgid "See \":help E312\" for more information." msgstr "Vea «:help E312» para más información." -#: memline.c:1156 +#: memline.c:1159 msgid "Recovery completed. You should check if everything is OK." msgstr "Recuperación completada. Ud. debería comprobar que todo está bien." -#: memline.c:1157 +#: memline.c:1160 msgid "" "\n" "(You might want to write out this file under another name\n" @@ -3832,12 +3936,12 @@ msgstr "" "\n" "(Podría querer guardar este fichero con otro nombre\n" -#: memline.c:1158 +#: memline.c:1161 msgid "and run diff with the original file to check for changes)\n" msgstr "" "y ejecutar «diff» con el fichero original para comprobar los cambios)\n" -#: memline.c:1159 +#: memline.c:1162 msgid "" "Delete the .swp file afterwards.\n" "\n" @@ -3847,51 +3951,51 @@ msgstr "" # use msg() to start the scrolling properly #. use msg() to start the scrolling properly -#: memline.c:1215 +#: memline.c:1218 msgid "Swap files found:" msgstr "Se han encontrado ficheros de intercambio:" -#: memline.c:1393 +#: memline.c:1396 msgid " In current directory:\n" msgstr " En el directorio actual:\n" -#: memline.c:1395 +#: memline.c:1398 msgid " Using specified name:\n" msgstr " Usando el nombre especificado:\n" -#: memline.c:1399 +#: memline.c:1402 msgid " In directory " msgstr " En el directorio " -#: memline.c:1417 +#: memline.c:1420 msgid " -- none --\n" msgstr " -- ninguno --\n" -#: memline.c:1489 +#: memline.c:1492 msgid " owned by: " msgstr " propiedad de: " -#: memline.c:1491 +#: memline.c:1494 msgid " dated: " msgstr " de fecha: " -#: memline.c:1495 memline.c:3685 +#: memline.c:1498 memline.c:3688 msgid " dated: " msgstr " de fecha: " -#: memline.c:1511 +#: memline.c:1514 msgid " [from Vim version 3.0]" msgstr " [desde la versión 3.0 de Vim]" -#: memline.c:1515 +#: memline.c:1518 msgid " [does not look like a Vim swap file]" msgstr " [no parece un fichero de intercambio de Vim]" -#: memline.c:1519 +#: memline.c:1522 msgid " file name: " msgstr " nombre del fichero: " -#: memline.c:1525 +#: memline.c:1528 msgid "" "\n" " modified: " @@ -3899,15 +4003,15 @@ msgstr "" "\n" " modificado: " -#: memline.c:1526 +#: memline.c:1529 msgid "YES" msgstr "SI" -#: memline.c:1526 +#: memline.c:1529 msgid "no" msgstr "no" -#: memline.c:1530 +#: memline.c:1533 msgid "" "\n" " user name: " @@ -3915,11 +4019,11 @@ msgstr "" "\n" " nombre del usuario: " -#: memline.c:1537 +#: memline.c:1540 msgid " host name: " msgstr " nombre del «host»: " -#: memline.c:1539 +#: memline.c:1542 msgid "" "\n" " host name: " @@ -3927,7 +4031,7 @@ msgstr "" "\n" " nombre del «host»: " -#: memline.c:1545 +#: memline.c:1548 msgid "" "\n" " process ID: " @@ -3935,11 +4039,11 @@ msgstr "" "\n" " ID del proceso: " -#: memline.c:1551 +#: memline.c:1554 msgid " (still running)" msgstr " (aún en ejecución)" -#: memline.c:1563 +#: memline.c:1566 msgid "" "\n" " [not usable with this version of Vim]" @@ -3947,7 +4051,7 @@ msgstr "" "\n" " [no se peude usar con esta versión de Vim]" -#: memline.c:1566 +#: memline.c:1569 msgid "" "\n" " [not usable on this computer]" @@ -3955,92 +4059,92 @@ msgstr "" "\n" " [no se puede usar en este ordenador]" -#: memline.c:1571 +#: memline.c:1574 msgid " [cannot be read]" msgstr " [no se puede leer]" -#: memline.c:1575 +#: memline.c:1578 msgid " [cannot be opened]" msgstr " [no se puede abrir]" -#: memline.c:1765 +#: memline.c:1768 msgid "E313: Cannot preserve, there is no swap file" msgstr "E313: No puedo preservarlo, no existe un fichero de intercambio" -#: memline.c:1818 +#: memline.c:1821 msgid "File preserved" msgstr "fichero preservado" -#: memline.c:1820 +#: memline.c:1823 msgid "E314: Preserve failed" msgstr "E314: Falló la preservación del fichero" -#: memline.c:1891 +#: memline.c:1894 #, c-format msgid "E315: ml_get: invalid lnum: %ld" msgstr "E315: «ml_get»: número de línea no válido: %ld" -#: memline.c:1917 +#: memline.c:1920 #, c-format msgid "E316: ml_get: cannot find line %ld" msgstr "E316: «ml_get»: no puedo encontrar la línea %ld" -#: memline.c:2307 +#: memline.c:2310 msgid "E317: pointer block id wrong 3" msgstr "E317: El id del bloque de punteros está equivocado. 3" -#: memline.c:2387 +#: memline.c:2390 msgid "stack_idx should be 0" msgstr "«stack_idx» debería ser 0" -#: memline.c:2449 +#: memline.c:2452 msgid "E318: Updated too many blocks?" msgstr "E318: ¿Demasiados bloques actualizados?" -#: memline.c:2631 +#: memline.c:2634 msgid "E317: pointer block id wrong 4" msgstr "E317: El id del bloque de punteros está equivocado. 4" -#: memline.c:2658 +#: memline.c:2661 msgid "deleted block 1?" -msgstr "¿bloque 1 suprimido?" +msgstr "¿Bloque 1 eliminado?" -#: memline.c:2858 +#: memline.c:2861 #, c-format msgid "E320: Cannot find line %ld" msgstr "E320: No puedo encontrar la línea %ld" -#: memline.c:3101 +#: memline.c:3104 msgid "E317: pointer block id wrong" msgstr "E317: El id del bloque de punteros está equivocado." -#: memline.c:3117 +#: memline.c:3120 msgid "pe_line_count is zero" msgstr "«pe_line_count» es cero" -#: memline.c:3146 +#: memline.c:3149 #, c-format msgid "E322: line number out of range: %ld past the end" msgstr "E322: número de línea fuera de rango: %ld más allá del final" -#: memline.c:3150 +#: memline.c:3153 #, c-format msgid "E323: line count wrong in block %ld" msgstr "E323: recuento de líneas erróneo en el bloque %ld" -#: memline.c:3199 +#: memline.c:3202 msgid "Stack size increases" msgstr "El tamaño de la pila aumenta" -#: memline.c:3245 +#: memline.c:3248 msgid "E317: pointer block id wrong 2" msgstr "E310: El id del bloque de punteros está equivocado. 2" -#: memline.c:3675 +#: memline.c:3678 msgid "E325: ATTENTION" msgstr "E325: ATENCIÓN" -#: memline.c:3676 +#: memline.c:3679 msgid "" "\n" "Found a swap file by the name \"" @@ -4048,11 +4152,11 @@ msgstr "" "\n" "Se ha encontrado un fichero de intercambio con el nombre «" -#: memline.c:3680 +#: memline.c:3683 msgid "While opening file \"" msgstr "al abrir el fichero «" -#: memline.c:3689 +#: memline.c:3692 msgid " NEWER than swap file!\n" msgstr " MÁS NUEVO que el fichero de intercambio!\n" @@ -4060,7 +4164,7 @@ msgstr " MÁS NUEVO que el fichero de intercambio!\n" # * other languages. #. Some of these messages are long to allow translation to #. * other languages. -#: memline.c:3693 +#: memline.c:3696 msgid "" "\n" "(1) Another program may be editing the same file.\n" @@ -4072,11 +4176,11 @@ msgstr "" " De ser así, tenga cuidado de no acabar con dos\n" " ejemplares diferentes del mismo fichero al hacer cambios.\n" -#: memline.c:3694 +#: memline.c:3697 msgid " Quit, or continue with caution.\n" msgstr " Salga del programa o continue con precaución.\n" -#: memline.c:3695 +#: memline.c:3698 msgid "" "\n" "(2) An edit session for this file crashed.\n" @@ -4084,11 +4188,11 @@ msgstr "" "\n" "(2) Falló una sesión de edición de este fichero.\n" -#: memline.c:3696 +#: memline.c:3699 msgid " If this is the case, use \":recover\" or \"vim -r " msgstr " Si es así, use «:recover» o «vim -r " -#: memline.c:3698 +#: memline.c:3701 msgid "" "\"\n" " to recover the changes (see \":help recovery\").\n" @@ -4096,11 +4200,11 @@ msgstr "" "»\n" " para recuperar los cambios (véa «:help recovery»).\n" -#: memline.c:3699 +#: memline.c:3702 msgid " If you did this already, delete the swap file \"" -msgstr " Si Ud. ya ha hecho esto, borre el fichero de intercambio «" +msgstr " Si Ud. ya ha hecho esto, elimine el fichero de intercambio «" -#: memline.c:3701 +#: memline.c:3704 msgid "" "\"\n" " to avoid this message.\n" @@ -4108,23 +4212,23 @@ msgstr "" "»\n" " para evitar este mensaje.\n" -#: memline.c:3715 memline.c:3719 +#: memline.c:3718 memline.c:3722 msgid "Swap file \"" msgstr "¡El fichero de intercambio «" -#: memline.c:3716 memline.c:3722 +#: memline.c:3719 memline.c:3725 msgid "\" already exists!" msgstr "» ya existe!" -#: memline.c:3725 +#: memline.c:3728 msgid "VIM - ATTENTION" msgstr "VIM - ATENCIÓN" -#: memline.c:3727 +#: memline.c:3730 msgid "Swap file already exists!" msgstr "¡Ya existe un fichero de intercambio!" -#: memline.c:3731 +#: memline.c:3734 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4138,7 +4242,7 @@ msgstr "" "&Salir\n" "&Abortar" -#: memline.c:3733 +#: memline.c:3736 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4154,7 +4258,7 @@ msgstr "" "&Abortar\n" "&Borrarlo" -#: memline.c:3790 +#: memline.c:3793 msgid "E326: Too many swap files found" msgstr "E326: Se han encontrado demasiados ficheros de intercambio" @@ -4213,62 +4317,62 @@ msgstr "E334: No se ha encontrado el menú: %s" msgid "E335: Menu not defined for %s mode" msgstr "E335: El menú no está definido para el modo %s" -#: menu.c:2211 +#: menu.c:2212 msgid "E336: Menu path must lead to a sub-menu" msgstr "E336: La ruta del menú debe conducir a un sub-menú" -#: menu.c:2232 +#: menu.c:2233 msgid "E337: Menu not found - check menu names" msgstr "E337: No se ha encontrado el menú - verifique los nombres de los menús" -#: message.c:414 +#: message.c:429 #, c-format msgid "Error detected while processing %s:" msgstr "Se ha detectado un error al procesar %s:" -#: message.c:440 +#: message.c:454 #, c-format msgid "line %4ld:" msgstr "línea %4ld" -#: message.c:647 +#: message.c:656 msgid "[string too long]" msgstr "[cadena demasiado larga]" -#: message.c:797 +#: message.c:806 msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" msgstr "" "Mantenedor de los mensajes: Alejandro López-Valencia <dradul@yahoo.com>" -#: message.c:1025 +#: message.c:1034 msgid "Interrupt: " msgstr "Interrupción: " -#: message.c:1028 +#: message.c:1037 msgid "Hit ENTER to continue" msgstr "Pulse INTRO para continuar" -#: message.c:1030 +#: message.c:1039 msgid "Hit ENTER or type command to continue" msgstr "Pulse INTRO o escriba un comando para continuar" -#: message.c:2351 +#: message.c:2360 msgid "-- More --" msgstr "-- Más --" -#: message.c:2354 +#: message.c:2363 msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" msgstr " (RET/BS: línea, ESPACIO/b: página, d/u: media página, q: salir)" -#: message.c:2355 +#: message.c:2364 msgid " (RET: line, SPACE: page, d: half page, q: quit)" msgstr " (RET: línea, ESPACIO: página, d: media página, q: salir)" -#: message.c:2988 message.c:3003 +#: message.c:2995 message.c:3010 msgid "Question" msgstr "Pregunta" -#: message.c:2990 +#: message.c:2997 msgid "" "&Yes\n" "&No" @@ -4276,7 +4380,7 @@ msgstr "" "&Si\n" "&No" -#: message.c:3023 +#: message.c:3030 msgid "" "&Yes\n" "&No\n" @@ -4290,55 +4394,56 @@ msgstr "" "&Descartar todo\n" "&Cancelar" -#: message.c:3064 +#: message.c:3071 msgid "Save File dialog" msgstr "Diálogo de Guardar Fichero" -#: message.c:3066 +#: message.c:3073 msgid "Open File dialog" msgstr "Diálogo de Abrir Fichero" #. TODO: non-GUI file selector here -#: message.c:3137 +#: message.c:3144 msgid "E338: Sorry, no file browser in console mode" msgstr "E338: Lo siento, no hay hojeador de ficheros en modo de consola" -#: misc1.c:2773 +#: misc1.c:2861 msgid "W10: Warning: Changing a readonly file" msgstr "W10: Advertencia: cambiando un fichero de sólo lectura" -#: misc1.c:3021 +#: misc1.c:3109 msgid "1 more line" msgstr "1 línea más" -#: misc1.c:3023 +#: misc1.c:3111 msgid "1 line less" msgstr "1 línea menos" -#: misc1.c:3028 +#: misc1.c:3116 #, c-format msgid "%ld more lines" msgstr "%ld líneas más" -#: misc1.c:3030 +#: misc1.c:3118 #, c-format msgid "%ld fewer lines" msgstr "%ld líneas menos" -#: misc1.c:3033 +#: misc1.c:3121 msgid " (Interrupted)" msgstr " (Interrumpido)" -#: misc1.c:7588 +#: misc1.c:7697 msgid "Vim: preserving files...\n" msgstr "Vim: preservando ficheros...\n" #. close all memfiles, without deleting -#: misc1.c:7598 +#: misc1.c:7707 msgid "Vim: Finished.\n" msgstr "Vim: finalizado.\n" #: misc2.c:695 misc2.c:711 +#, c-format msgid "ERROR: " msgstr "ERROR: " @@ -4374,44 +4479,44 @@ msgstr "E341: Error interno: lalloc(%ld, )" msgid "E342: Out of memory! (allocating %lu bytes)" msgstr "E342: ¡Memoria agotada! (al asignar %lu bytes)" -#: misc2.c:2594 +#: misc2.c:2572 #, c-format msgid "Calling shell to execute: \"%s\"" msgstr "Llamando a la «shell» para ejecutar: «%s»" -#: misc2.c:2816 +#: misc2.c:2794 msgid "E545: Missing colon" msgstr "E545: Falta un símbolo de dos puntos." -#: misc2.c:2818 misc2.c:2845 +#: misc2.c:2796 misc2.c:2823 msgid "E546: Illegal mode" msgstr "E546: Modo de operación ilegal." -#: misc2.c:2884 +#: misc2.c:2862 msgid "E547: Illegal mouseshape" msgstr "E547: El «mouseshape» no es válido." -#: misc2.c:2924 +#: misc2.c:2902 msgid "E548: digit expected" msgstr "E548: Se esperaba un dígito." -#: misc2.c:2929 +#: misc2.c:2907 msgid "E549: Illegal percentage" msgstr "E549: Porcentaje ilegal." -#: misc2.c:3239 +#: misc2.c:3217 msgid "Enter encryption key: " msgstr "Introduzca la clave de cifrado: " -#: misc2.c:3240 +#: misc2.c:3218 msgid "Enter same key again: " msgstr "Introduzca la misma clave de cifrado otra vez: " -#: misc2.c:3250 +#: misc2.c:3228 msgid "Keys don't match!" msgstr "¡Las claves de cifrado no coinciden!" -#: misc2.c:3799 +#: misc2.c:3772 #, c-format msgid "" "E343: Invalid path: '**[number]' must be at the end of the path or be " @@ -4420,35 +4525,35 @@ msgstr "" "E343: Ruta no válida: '**[número]' debe estar al final de la ruta o seguido " "de «%s»." -#: misc2.c:5078 +#: misc2.c:5051 #, c-format msgid "E344: Can't find directory \"%s\" in cdpath" msgstr "E344: No se puede encontrar el directorio «%s» en «cdpath»" -#: misc2.c:5081 +#: misc2.c:5054 #, c-format msgid "E345: Can't find file \"%s\" in path" msgstr "E345: No se puede encontrar el fichero «%s» en la ruta" -#: misc2.c:5087 +#: misc2.c:5060 #, c-format msgid "E346: No more directory \"%s\" found in cdpath" msgstr "E346: No se han encontrado mas directorios «%s» en «cdpath»" -#: misc2.c:5090 +#: misc2.c:5063 #, c-format msgid "E347: No more file \"%s\" found in path" msgstr "E347: No se han encontrado mas ficheros «%s» en la ruta" -#: misc2.c:5324 +#: misc2.c:5297 msgid "E550: Missing colon" msgstr "E550: Falta un símbolo de dos puntos." -#: misc2.c:5336 +#: misc2.c:5309 msgid "E551: Illegal component" msgstr "E551: Componente ilegal." -#: misc2.c:5344 +#: misc2.c:5317 msgid "E552: digit expected" msgstr "E552: se esperaba un dígito." @@ -4493,93 +4598,93 @@ msgstr "E349: No hay ningún identificador bajo el cursor" msgid "E352: Cannot erase folds with current 'foldmethod'" msgstr "E352: No puedo borar pliegues con el «folmethod» actual." -#: normal.c:6743 +#: normal.c:6774 msgid "E664: changelist is empty" msgstr "E664: La lista de cambios está vacía." -#: normal.c:6745 +#: normal.c:6776 msgid "E662: At start of changelist" msgstr "E662: Al comienzo de la lista de cambios." -#: normal.c:6747 +#: normal.c:6778 msgid "E663: At end of changelist" msgstr "E663: Al final de la lista de cambios." -#: normal.c:8009 +#: normal.c:8040 msgid "Type :quit<Enter> to exit Vim" msgstr "Escriba :quit<enter> para terminar la ejecución de Vim." -#: ops.c:294 +#: ops.c:291 #, c-format msgid "1 line %sed 1 time" msgstr "1 línea %sed 1 vez." -#: ops.c:296 +#: ops.c:293 #, c-format msgid "1 line %sed %d times" msgstr "1 línea %sed %d veces." -#: ops.c:301 +#: ops.c:298 #, c-format msgid "%ld lines %sed 1 time" msgstr "%ld líneas %sed 1 vez." -#: ops.c:304 +#: ops.c:301 #, c-format msgid "%ld lines %sed %d times" msgstr "%ld líneas %sed %d veces." -#: ops.c:662 +#: ops.c:659 #, c-format msgid "%ld lines to indent... " msgstr "%ld líneas por sangrar..." -#: ops.c:712 +#: ops.c:709 msgid "1 line indented " msgstr "1 línea sangrada" -#: ops.c:714 +#: ops.c:711 #, c-format msgid "%ld lines indented " msgstr "%ld líneas sangradas" # Debe mostrar la línea de comandos. #. must display the prompt -#: ops.c:1688 +#: ops.c:1621 msgid "cannot yank; delete anyway" -msgstr "No puedo hacer un «yank»; ¿Lo borro de todas formas?" +msgstr "No puedo hacer un «yank»; ¿Lo elimino de todas formas?" -#: ops.c:2274 +#: ops.c:2207 msgid "1 line changed" msgstr "1 línea cambiada" -#: ops.c:2276 +#: ops.c:2209 #, c-format msgid "%ld lines changed" msgstr "%ld líneas cambiadas" -#: ops.c:2660 +#: ops.c:2593 #, c-format msgid "freeing %ld lines" msgstr "liberando %ld líneas" -#: ops.c:2941 +#: ops.c:2874 msgid "1 line yanked" msgstr "1 línea copiada" -#: ops.c:2943 +#: ops.c:2876 #, c-format msgid "%ld lines yanked" msgstr "%ld líneas copiadas" -#: ops.c:3228 +#: ops.c:3161 #, c-format msgid "E353: Nothing in register %s" msgstr "E353: No hay nada en el registro %s" # Highlight title #. Highlight title -#: ops.c:3779 +#: ops.c:3712 msgid "" "\n" "--- Registers ---" @@ -4587,11 +4692,12 @@ msgstr "" "\n" "--- Registros ---" -#: ops.c:5088 +#: ops.c:5021 msgid "Illegal register name" msgstr "Nombre de registro ilegal" -#: ops.c:5176 +#: ops.c:5109 +#, c-format msgid "" "\n" "# Registers:\n" @@ -4599,59 +4705,59 @@ msgstr "" "\n" "# Registros:\n" -#: ops.c:5226 +#: ops.c:5159 #, c-format msgid "E574: Unknown register type %d" msgstr "E574: Registro desconocido de tipo «%d»." -#: ops.c:5711 +#: ops.c:5644 #, c-format msgid "E354: Invalid register name: '%s'" msgstr "E354: Nombre de registro no válido: '%s'" -#: ops.c:6071 +#: ops.c:6004 #, c-format msgid "%ld Cols; " msgstr "%ld Cols; " -#: ops.c:6078 +#: ops.c:6011 #, c-format msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes" msgstr "" "Seleccionadas %s%ld de %ld Líneas; %ld de %ld Palabras; %ld de %ld Caracteres" -#: ops.c:6094 +#: ops.c:6027 #, c-format msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld" msgstr "" "Col %s de %s; Línea %ld de %ld; Palabra %ld de %ld; Carácter %ld de %ld" -#: ops.c:6105 +#: ops.c:6038 #, c-format msgid "(+%ld for BOM)" msgstr "(+%ld para BOM)" -#: option.c:1643 +#: option.c:1675 msgid "%<%f%h%m%=Page %N" msgstr "%<%f%h%m%=Página %N" -#: option.c:2092 +#: option.c:2151 msgid "Thanks for flying Vim" msgstr "Gracias por volar con Vim" -#: option.c:3419 option.c:3535 +#: option.c:3490 option.c:3606 msgid "E518: Unknown option" msgstr "E518: Opción desconocida." -#: option.c:3432 +#: option.c:3503 msgid "E519: Option not supported" msgstr "E519: Opción no admitida" -#: option.c:3457 +#: option.c:3528 msgid "E520: Not allowed in a modeline" msgstr "E520: No se permite en una «modeline»" -#: option.c:3522 +#: option.c:3593 msgid "" "\n" "\tLast set from " @@ -4659,141 +4765,141 @@ msgstr "" "\n" "\tSe definió por última vez en " -#: option.c:3661 +#: option.c:3732 msgid "E521: Number required after =" msgstr "E521: Se necesita un número despues de «=»" -#: option.c:3989 option.c:4619 +#: option.c:4060 option.c:4696 msgid "E522: Not found in termcap" msgstr "E522: No lo encontré en el «termcap»." -#: option.c:4064 +#: option.c:4135 #, c-format msgid "E539: Illegal character <%s>" msgstr "E539: Carácter ilegal <%s>" -#: option.c:4611 +#: option.c:4688 msgid "E529: Cannot set 'term' to empty string" msgstr "E529: No puedo definir «term» como una cadena de caracteres vacía." -#: option.c:4614 +#: option.c:4691 msgid "E530: Cannot change term in GUI" msgstr "E530: No puedo cambiar «term» en la GUI." -#: option.c:4616 +#: option.c:4693 msgid "E531: Use \":gui\" to start the GUI" msgstr "E531: Use «:gui» para iniciar la GUI." -#: option.c:4645 +#: option.c:4722 msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: «backupext» y «patchmode» son iguales." -#: option.c:4860 +#: option.c:4937 msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: No puede cambiarse en el GUI de GTK+ 2." -#: option.c:5016 +#: option.c:5093 msgid "E524: Missing colon" msgstr "E524: Falta un símbolo de dos puntos." -#: option.c:5018 +#: option.c:5095 msgid "E525: Zero length string" msgstr "E525: Cadena de caracteres de largo cero." -#: option.c:5086 +#: option.c:5163 #, c-format msgid "E526: Missing number after <%s>" msgstr "E526: Falta el número despues de <%s>." -#: option.c:5100 +#: option.c:5177 msgid "E527: Missing comma" msgstr "E527: Falta una coma." -#: option.c:5107 +#: option.c:5184 msgid "E528: Must specify a ' value" msgstr "E528: Debe especificar un valor '" -#: option.c:5148 +#: option.c:5225 msgid "E595: contains unprintable or wide character" msgstr "E595: Contiene un caracter no imprimible o de más de un byte de ancho." -#: option.c:5197 +#: option.c:5274 msgid "E596: Invalid font(s)" msgstr "E596: Las fuente(s) de impresión no son válidas." -#: option.c:5205 +#: option.c:5282 msgid "E597: can't select fontset" msgstr "E597: No puedo seleccionar ese «fontset»." -#: option.c:5207 +#: option.c:5284 msgid "E598: Invalid fontset" msgstr "E598: El conjunto de fuentes de impresión no es válido." -#: option.c:5214 +#: option.c:5291 msgid "E533: can't select wide font" msgstr "" "E533: No puedo seleccionar la fuente de impresión «ancha» (de byte doble)." -#: option.c:5216 +#: option.c:5293 msgid "E534: Invalid wide font" msgstr "E534: Fuente de impresión «ancha» inválida." -#: option.c:5486 +#: option.c:5570 #, c-format msgid "E535: Illegal character after <%c>" msgstr "E535: arácter ilegal después de <%c>." -#: option.c:5597 +#: option.c:5681 msgid "E536: comma required" msgstr "E536: Se requiere una coma." -#: option.c:5607 +#: option.c:5691 #, c-format msgid "E537: 'commentstring' must be empty or contain %s" msgstr "E537: «commentstring» debe estar vacio o contener «%s»." -#: option.c:5682 +#: option.c:5766 msgid "E538: No mouse support" msgstr "E538: No hay soporte para el ratón." -#: option.c:5950 +#: option.c:6035 msgid "E540: Unclosed expression sequence" msgstr "E540: SEcuencia de expresión sin cerrar." -#: option.c:5954 +#: option.c:6039 msgid "E541: too many items" msgstr "E541: Demasiados ítems." -#: option.c:5956 +#: option.c:6041 msgid "E542: unbalanced groups" msgstr "E542: Grupos desbalanceados." -#: option.c:6196 +#: option.c:6281 msgid "E590: A preview window already exists" msgstr "E590: Ya existe una ventana de visualización previa." -#: option.c:6453 +#: option.c:6528 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "" "W17: El uso de árabe requiere la codificación UTF-8, use «:set encoding=utf-" "8» primero." -#: option.c:6786 +#: option.c:6884 #, c-format msgid "E593: Need at least %d lines" msgstr "E593: Necesita al menos %d líneas." -#: option.c:6796 +#: option.c:6894 #, c-format msgid "E594: Need at least %d columns" msgstr "E594: Necesita al menos %d columnas." -#: option.c:7103 +#: option.c:7201 #, c-format msgid "E355: Unknown option: %s" msgstr "E355: Opción desconocida: %s" -#: option.c:7223 +#: option.c:7321 msgid "" "\n" "--- Terminal codes ---" @@ -4801,7 +4907,7 @@ msgstr "" "\n" "--- Códigos de terminal ---" -#: option.c:7225 +#: option.c:7323 msgid "" "\n" "--- Global option values ---" @@ -4809,7 +4915,7 @@ msgstr "" "\n" "--- Valores de las opciones globales ---" -#: option.c:7227 +#: option.c:7325 msgid "" "\n" "--- Local option values ---" @@ -4817,7 +4923,7 @@ msgstr "" "\n" "--- Valores de las opciones locales ---" -#: option.c:7229 +#: option.c:7327 msgid "" "\n" "--- Options ---" @@ -4825,16 +4931,16 @@ msgstr "" "\n" "--- Opciones ---" -#: option.c:7935 +#: option.c:8042 msgid "E356: get_varp ERROR" msgstr "E356: ERROR de «get_varp»" -#: option.c:8906 +#: option.c:9022 #, c-format msgid "E357: 'langmap': Matching character missing for %s" msgstr "E357: «langmap»: falta carácter coincidente para %s" -#: option.c:8940 +#: option.c:9056 #, c-format msgid "E358: 'langmap': Extra characters after semicolon: %s" msgstr "E358: «langmap»: caracteres extra después del punto y coma: %s" @@ -4903,50 +5009,50 @@ msgstr "«ANCHOR_BUF_SIZE» demasiado pequeño" msgid "I/O ERROR" msgstr "ERROR E/S" -#: os_mswin.c:548 +#: os_mswin.c:543 msgid "...(truncated)" msgstr "...(truncado)" -#: os_mswin.c:650 +#: os_mswin.c:645 msgid "'columns' is not 80, cannot execute external commands" msgstr "'columns' no es 80, no se pueden ejecutar comandos externos" -#: os_mswin.c:1982 +#: os_mswin.c:2003 msgid "E237: Printer selection failed" msgstr "E237: FAlló la selectión de impresora." -#: os_mswin.c:2022 +#: os_mswin.c:2043 #, c-format msgid "to %s on %s" msgstr "para %s en %s" -#: os_mswin.c:2037 +#: os_mswin.c:2058 #, c-format msgid "E613: Unknown printer font: %s" msgstr "E613: Fuente de impresión desconocida en la impresora: %s" -#: os_mswin.c:2086 os_mswin.c:2096 +#: os_mswin.c:2107 os_mswin.c:2117 #, c-format msgid "E238: Print error: %s" msgstr "E238: Error de impresión: %s" -#: os_mswin.c:2097 +#: os_mswin.c:2118 msgid "Unknown" msgstr "Desconocido" -#: os_mswin.c:2124 +#: os_mswin.c:2145 #, c-format msgid "Printing '%s'" msgstr "Imprimiendo «%s»" -#: os_mswin.c:3213 +#: os_mswin.c:3235 #, c-format msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" msgstr "" "E244: El nombre del conjunto de caracteres «%s» no es válido en el nombre de " "la fuente de impresión «%s»" -#: os_mswin.c:3221 +#: os_mswin.c:3243 #, c-format msgid "E245: Illegal char '%c' in font name \"%s\"" msgstr "E245: Carácter «%c» ilegal en el nombre de la fuente de impresión «%s»" @@ -4955,25 +5061,26 @@ msgstr "E245: Carácter «%c» ilegal en el nombre de la fuente de impresión «%s»" msgid "E366: Invalid 'osfiletype' option - using Text" msgstr "E366: Opción «osfiletype» inválida - usando Text" -#: os_unix.c:927 +#: os_unix.c:949 msgid "Vim: Double signal, exiting\n" msgstr "Vim: doble señal, saliendo\n" -#: os_unix.c:933 +#: os_unix.c:955 #, c-format msgid "Vim: Caught deadly signal %s\n" msgstr "Vim: capté una señal de muerte %s\n" -#: os_unix.c:936 +#: os_unix.c:958 +#, c-format msgid "Vim: Caught deadly signal\n" msgstr "Vim: capté una señal de muerte\n" -#: os_unix.c:1199 +#: os_unix.c:1221 #, c-format msgid "Opening the X display took %ld msec" msgstr "Abrir la pantalla X tomó %ld ms" -#: os_unix.c:1226 +#: os_unix.c:1255 msgid "" "\n" "Vim: Got X error\n" @@ -4981,15 +5088,15 @@ msgstr "" "\n" "Vim: Hay un error de X11\n" -#: os_unix.c:1338 +#: os_unix.c:1368 msgid "Testing the X display failed" msgstr "Falló la prueba del sistema X11" -#: os_unix.c:1477 +#: os_unix.c:1507 msgid "Opening the X display timed out" msgstr "El «display» de X no abrió a tiempo." -#: os_unix.c:3234 os_unix.c:3914 +#: os_unix.c:3267 os_unix.c:3947 msgid "" "\n" "Cannot execute shell " @@ -4997,7 +5104,7 @@ msgstr "" "\n" "No puedo ejecutar la «shell» " -#: os_unix.c:3282 +#: os_unix.c:3315 msgid "" "\n" "Cannot execute shell sh\n" @@ -5005,7 +5112,7 @@ msgstr "" "\n" "No puedo ejecutar la «shell» «sh»\n" -#: os_unix.c:3286 os_unix.c:3920 +#: os_unix.c:3319 os_unix.c:3953 msgid "" "\n" "shell returned " @@ -5013,7 +5120,7 @@ msgstr "" "\n" "La «shell» ha devuelto " -#: os_unix.c:3421 +#: os_unix.c:3454 msgid "" "\n" "Cannot create pipes\n" @@ -5021,7 +5128,7 @@ msgstr "" "\n" "No puedo crear «pipes»\n" -#: os_unix.c:3436 +#: os_unix.c:3469 msgid "" "\n" "Cannot fork\n" @@ -5029,7 +5136,7 @@ msgstr "" "\n" "No puedo usar «fork»\n" -#: os_unix.c:3927 +#: os_unix.c:3960 msgid "" "\n" "Command terminated\n" @@ -5037,27 +5144,32 @@ msgstr "" "\n" "Comando finalizado\n" -#: os_unix.c:4191 os_unix.c:4316 os_unix.c:5982 +#: os_unix.c:4247 os_unix.c:4389 os_unix.c:6078 msgid "XSMP lost ICE connection" msgstr "XSMP perdió la conexión ICE." -#: os_unix.c:5565 +#: os_unix.c:5478 os_unix.c:5579 +#, c-format +msgid "dlerror = \"%s\"" +msgstr "dlerror = «%s»" + +#: os_unix.c:5661 msgid "Opening the X display failed" msgstr "Falló la apertura de la pantalla X11" -#: os_unix.c:5887 +#: os_unix.c:5983 msgid "XSMP handling save-yourself request" msgstr "XSMP está manejando una solicitud de «guardelo usted mismo»." -#: os_unix.c:6006 +#: os_unix.c:6102 msgid "XSMP opening connection" msgstr "XSMP está abriendo una conexión." -#: os_unix.c:6025 +#: os_unix.c:6121 msgid "XSMP ICE connection watch failed" msgstr "XSMP Falló el monitoreo de la conexión ICE." -#: os_unix.c:6045 +#: os_unix.c:6141 #, c-format msgid "XSMP SmcOpenConnection failed: %s" msgstr "XSMP SmcOpenConnection ha fallado: %s." @@ -5082,33 +5194,33 @@ msgstr "¡No pude cargar vim32.dll!" msgid "Could not fix up function pointers to the DLL!" msgstr "¡No pude fijar los punteros de la función a la DLL!" -#: os_win16.c:342 os_win32.c:3248 +#: os_win16.c:342 os_win32.c:3313 #, c-format msgid "shell returned %d" msgstr "La «shell» ha devuelto %d" -#: os_win32.c:2706 +#: os_win32.c:2771 #, c-format msgid "Vim: Caught %s event\n" msgstr "Vim: Capté el evento %s\n" -#: os_win32.c:2708 +#: os_win32.c:2773 msgid "close" msgstr "cerrar" -#: os_win32.c:2710 +#: os_win32.c:2775 msgid "logoff" msgstr "salida" -#: os_win32.c:2711 +#: os_win32.c:2776 msgid "shutdown" msgstr "apagar" -#: os_win32.c:3201 +#: os_win32.c:3266 msgid "E371: Command not found" msgstr "E371: No se encuentra el comando" -#: os_win32.c:3214 +#: os_win32.c:3279 msgid "" "VIMRUN.EXE not found in your $PATH.\n" "External commands will not pause after completion.\n" @@ -5118,7 +5230,7 @@ msgstr "" "Los comandos externos no harán una pausa al finalizar.\n" "Véase :help win32-vimrun para más información" -#: os_win32.c:3217 +#: os_win32.c:3282 msgid "Vim Warning" msgstr "Advertencia de Vim" @@ -5163,29 +5275,29 @@ msgstr "E379: El nombre del directorio falta o está vacío" msgid "E553: No more items" msgstr "E553: No hay más ítems." -#: quickfix.c:1229 +#: quickfix.c:1286 #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d de %d)%s%s: " -#: quickfix.c:1231 +#: quickfix.c:1288 msgid " (line deleted)" -msgstr " (línea borrada)" +msgstr " (línea eliminada)" -#: quickfix.c:1444 +#: quickfix.c:1501 msgid "E380: At bottom of quickfix stack" msgstr "E380: Al final de la pila de correción rápida" -#: quickfix.c:1453 +#: quickfix.c:1510 msgid "E381: At top of quickfix stack" msgstr "E381: Al principio de la pila de correción rápida" -#: quickfix.c:1465 +#: quickfix.c:1522 #, c-format msgid "error list %d of %d; %d errors" msgstr "lista de errores %d de %d: %d errores" -#: quickfix.c:1943 +#: quickfix.c:2002 msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: No se puede grabar, la opción «buftype» está activada" @@ -5319,80 +5431,80 @@ msgstr "E363: el patrón ha provocado un error «out-of-stack»" msgid "External submatches:\n" msgstr "Subcoincidencias externas:\n" -#: screen.c:2184 +#: screen.c:2204 #, c-format msgid "+--%3ld lines folded " msgstr "+--%3ld líneas plegadas" -#: screen.c:8000 +#: screen.c:8043 msgid " VREPLACE" msgstr " REEMPLAZAMIENTO VIRTUAL" -#: screen.c:8004 +#: screen.c:8047 msgid " REPLACE" msgstr " REEMPLAZAR" -#: screen.c:8009 +#: screen.c:8052 msgid " REVERSE" msgstr " INVERTIR" -#: screen.c:8011 +#: screen.c:8054 msgid " INSERT" msgstr " INSERTAR" -#: screen.c:8014 +#: screen.c:8057 msgid " (insert)" msgstr " (insertar)" -#: screen.c:8016 +#: screen.c:8059 msgid " (replace)" msgstr " (reemplazar)" -#: screen.c:8018 +#: screen.c:8061 msgid " (vreplace)" msgstr " (reemplazamiento virtual)" -#: screen.c:8021 +#: screen.c:8064 msgid " Hebrew" msgstr " Hebreo" -#: screen.c:8032 +#: screen.c:8075 msgid " Arabic" msgstr " árabe" -#: screen.c:8035 +#: screen.c:8078 msgid " (lang)" msgstr " (idioma)" -#: screen.c:8039 +#: screen.c:8082 msgid " (paste)" msgstr " (pegar)" -#: screen.c:8052 +#: screen.c:8095 msgid " VISUAL" msgstr " VISUAL" -#: screen.c:8053 +#: screen.c:8096 msgid " VISUAL LINE" msgstr " LÍNEA VISUAL" -#: screen.c:8054 +#: screen.c:8097 msgid " VISUAL BLOCK" msgstr " BLOQUE VISUAL" -#: screen.c:8055 +#: screen.c:8098 msgid " SELECT" msgstr " SELECCIONAR" -#: screen.c:8056 +#: screen.c:8099 msgid " SELECT LINE" msgstr " SELECCIONAR LÍNEA" -#: screen.c:8057 +#: screen.c:8100 msgid " SELECT BLOCK" msgstr " SELECCIONAR BLOQUE" -#: screen.c:8072 screen.c:8135 +#: screen.c:8115 screen.c:8178 msgid "recording" msgstr "grabando" @@ -5423,54 +5535,54 @@ msgstr "E385: La búsqueda ha llegado al FINAL sin coincidencias con: %s" msgid "E386: Expected '?' or '/' after ';'" msgstr "E386: Esperaba «?» o «/» después de «;»" -#: search.c:3769 +#: search.c:4116 msgid " (includes previously listed match)" msgstr " (incluye la coincidencia mostrada previamente)." # cursor at status line #. cursor at status line -#: search.c:3789 +#: search.c:4136 msgid "--- Included files " msgstr "--- Ficheros incluidos " -#: search.c:3791 +#: search.c:4138 msgid "not found " msgstr "no lo encontré" -#: search.c:3792 +#: search.c:4139 msgid "in path ---\n" msgstr "en la ruta ---\n" -#: search.c:3849 +#: search.c:4196 msgid " (Already listed)" msgstr " (Ya lo enumeré)" -#: search.c:3851 +#: search.c:4198 msgid " NOT FOUND" msgstr " NO SE ENCONTRÓ" -#: search.c:3903 +#: search.c:4250 #, c-format msgid "Scanning included file: %s" msgstr "Explorando el fichero incluido: %s" -#: search.c:4121 +#: search.c:4468 msgid "E387: Match is on current line" msgstr "E387: La coincidencia está en la línea en curso." -#: search.c:4264 +#: search.c:4611 msgid "All included files were found" msgstr "Se han encontrado todos los ficheros incluidos" -#: search.c:4266 +#: search.c:4613 msgid "No included files" msgstr "No hay ficheros incluidos" -#: search.c:4282 +#: search.c:4629 msgid "E388: Couldn't find definition" msgstr "E388: No se pudo encontrar la definición" -#: search.c:4284 +#: search.c:4631 msgid "E389: Couldn't find pattern" msgstr "E389: No se pudo encontrar el patrón" @@ -5635,84 +5747,82 @@ msgstr "E409: Nombre de grupo desconocido: %s" msgid "E410: Invalid :syntax subcommand: %s" msgstr "E410: Subcomando «:syntax» no válido: %s" -#: syntax.c:6136 +#: syntax.c:6139 #, c-format msgid "E411: highlight group not found: %s" msgstr "E411: grupo realzado no encontrado: %s" -#: syntax.c:6160 +#: syntax.c:6163 #, c-format msgid "E412: Not enough arguments: \":highlight link %s\"" msgstr "E412: Argumentos insuficientes: «:highlight link %s»" -#: syntax.c:6167 +#: syntax.c:6170 #, c-format msgid "E413: Too many arguments: \":highlight link %s\"" msgstr "E413: Demasiados argumentos: «:highlight link %s»" -#: syntax.c:6187 +#: syntax.c:6190 msgid "E414: group has settings, highlight link ignored" msgstr "" "E414: El grupo tiene opciones asignadas, se ha ignorado el enlace de " "colorización." -#: syntax.c:6316 +#: syntax.c:6319 #, c-format msgid "E415: unexpected equal sign: %s" msgstr "E415: Signo igual inesperado: %s" -#: syntax.c:6352 +#: syntax.c:6355 #, c-format msgid "E416: missing equal sign: %s" msgstr "E416: falta el signo igual: %s" -#: syntax.c:6380 +#: syntax.c:6383 #, c-format msgid "E417: missing argument: %s" msgstr "E417: falta el argumento: %s" -#: syntax.c:6417 +#: syntax.c:6420 #, c-format msgid "E418: Illegal value: %s" msgstr "E418: Valor ilegal: %s" -#: syntax.c:6536 +#: syntax.c:6539 msgid "E419: FG color unknown" msgstr "E419: color de primer plano desconocido" -#: syntax.c:6547 +#: syntax.c:6550 msgid "E420: BG color unknown" msgstr "E420: Color de fondo desconocido" -#: syntax.c:6608 +#: syntax.c:6611 #, c-format msgid "E421: Color name or number not recognized: %s" msgstr "E421: Nombre o número de color desconocido: %s" -#: syntax.c:6814 +#: syntax.c:6817 #, c-format msgid "E422: terminal code too long: %s" msgstr "E422: código de terminal demasiado largo: %s" -#: syntax.c:6861 +#: syntax.c:6864 #, c-format msgid "E423: Illegal argument: %s" msgstr "E423: Argumento ilegal: %s" -#: syntax.c:7390 +#: syntax.c:7393 msgid "E424: Too many different highlighting attributes in use" msgstr "E424: Hay demasiados atributos de realzado en uso" -#: syntax.c:7911 +#: syntax.c:7914 msgid "E669: Unprintable character in group name" msgstr "E669: Caracter no imprimible en el nombre del grupo." # Es preferible traducir "invalid" por "no [es] válido" pues "inválido" # no es lo suficientemente claro. Además, no es políticamente correcto :-) # ALV -#. This is an error, but since there previously was no check only -#. * give a warning. -#: syntax.c:7918 +#: syntax.c:7922 msgid "W18: Invalid character in group name" msgstr "W18: Hay un carácter no válido en el nobre del grupo." @@ -5910,7 +6020,7 @@ msgstr "E440: falta la línea deshacer." # Only MS VC 4.1 and earlier can do Win32s #. Only MS VC 4.1 and earlier can do Win32s -#: version.c:721 +#: version.c:712 msgid "" "\n" "MS-Windows 16/32 bit GUI version" @@ -5918,7 +6028,7 @@ msgstr "" "\n" "Versión GUI de 16/32 bits para MS-Windows" -#: version.c:723 +#: version.c:714 msgid "" "\n" "MS-Windows 32 bit GUI version" @@ -5926,15 +6036,15 @@ msgstr "" "\n" "Versión GUI de 32 bits para MS-Windows" -#: version.c:726 +#: version.c:717 msgid " in Win32s mode" msgstr " en modo Win32s" -#: version.c:728 +#: version.c:719 msgid " with OLE support" msgstr " con soporte para OLE" -#: version.c:731 +#: version.c:722 msgid "" "\n" "MS-Windows 32 bit console version" @@ -5942,7 +6052,7 @@ msgstr "" "\n" "Versión de 32 bits para consola de MS-Windows" -#: version.c:735 +#: version.c:726 msgid "" "\n" "MS-Windows 16 bit version" @@ -5950,7 +6060,7 @@ msgstr "" "\n" "Versión de 16 bits para MS-Windows" -#: version.c:739 +#: version.c:730 msgid "" "\n" "32 bit MS-DOS version" @@ -5958,7 +6068,7 @@ msgstr "" "\n" "Versión de 32 bits para MS-DOS" -#: version.c:741 +#: version.c:732 msgid "" "\n" "16 bit MS-DOS version" @@ -5966,7 +6076,7 @@ msgstr "" "\n" "Versión de 16 bits para MS-DOS" -#: version.c:747 +#: version.c:738 msgid "" "\n" "MacOS X (unix) version" @@ -5974,7 +6084,7 @@ msgstr "" "\n" "Versión X (unix) para MacOS" -#: version.c:749 +#: version.c:740 msgid "" "\n" "MacOS X version" @@ -5982,7 +6092,7 @@ msgstr "" "\n" "Versión X para MacOS" -#: version.c:752 +#: version.c:743 msgid "" "\n" "MacOS version" @@ -5990,7 +6100,7 @@ msgstr "" "\n" "Versión para MacOS" -#: version.c:757 +#: version.c:748 msgid "" "\n" "RISC OS version" @@ -5998,7 +6108,7 @@ msgstr "" "\n" "Versión para RISC OS" -#: version.c:767 +#: version.c:758 msgid "" "\n" "Included patches: " @@ -6006,11 +6116,11 @@ msgstr "" "\n" "Parches incluidos: " -#: version.c:793 version.c:1161 +#: version.c:784 version.c:1156 msgid "Modified by " msgstr "Modificado por " -#: version.c:800 +#: version.c:791 msgid "" "\n" "Compiled " @@ -6018,11 +6128,11 @@ msgstr "" "\n" "Compilado " -#: version.c:803 +#: version.c:794 msgid "by " msgstr "por " -#: version.c:815 +#: version.c:806 msgid "" "\n" "Huge version " @@ -6030,7 +6140,7 @@ msgstr "" "\n" "Versión «enorme» " -#: version.c:818 +#: version.c:809 msgid "" "\n" "Big version " @@ -6038,7 +6148,7 @@ msgstr "" "\n" "Versión «grande» " -#: version.c:821 +#: version.c:812 msgid "" "\n" "Normal version " @@ -6046,7 +6156,7 @@ msgstr "" "\n" "Versión «normal» " -#: version.c:824 +#: version.c:815 msgid "" "\n" "Small version " @@ -6054,7 +6164,7 @@ msgstr "" "\n" "Versión «pequeña» " -#: version.c:826 +#: version.c:817 msgid "" "\n" "Tiny version " @@ -6062,233 +6172,237 @@ msgstr "" "\n" "Versión «diminuta» " -#: version.c:832 +#: version.c:823 msgid "without GUI." msgstr "sin GUI." -#: version.c:837 +#: version.c:828 msgid "with GTK2-GNOME GUI." msgstr "con GUI GTK2-GNOME." -#: version.c:839 +#: version.c:830 msgid "with GTK-GNOME GUI." msgstr "con GUI GTK-GNOME." -#: version.c:843 +#: version.c:834 msgid "with GTK2 GUI." msgstr "con GUI GTK2." -#: version.c:845 +#: version.c:836 msgid "with GTK GUI." msgstr "con GUI GTK." -#: version.c:850 +#: version.c:841 msgid "with X11-Motif GUI." msgstr "con GUI X11-Motif." -#: version.c:854 +#: version.c:845 msgid "with X11-neXtaw GUI." msgstr "con GUI X11-neXtaw." -#: version.c:856 +#: version.c:847 msgid "with X11-Athena GUI." msgstr "con GUI X11-Athena." -#: version.c:860 +#: version.c:851 msgid "with BeOS GUI." msgstr "con GUI para BeOS." -#: version.c:863 +#: version.c:854 msgid "with Photon GUI." msgstr "con GUI para Photon." -#: version.c:866 +#: version.c:857 msgid "with GUI." msgstr "con GUI." -#: version.c:869 +#: version.c:860 msgid "with Carbon GUI." msgstr "con Carbon GUI." -#: version.c:872 +#: version.c:863 msgid "with Cocoa GUI." msgstr "con Cocoa GUI." -#: version.c:875 +#: version.c:866 msgid "with (classic) GUI." msgstr "con GUI (clásico)." -#: version.c:886 +#: version.c:869 +msgid "with KDE GUI." +msgstr "con GUI KDE." + +#: version.c:881 msgid " Features included (+) or not (-):\n" msgstr " Aspectos incluidos (+) o no (-):\n" -#: version.c:898 +#: version.c:893 msgid " system vimrc file: \"" msgstr " fichero «vimrc» del sistema: \"" -#: version.c:903 +#: version.c:898 msgid " user vimrc file: \"" msgstr " fichero «vimrc» del usuario: \"" -#: version.c:908 +#: version.c:903 msgid " 2nd user vimrc file: \"" msgstr " 2º fichero «vimrc» del usuario: \"" -#: version.c:913 +#: version.c:908 msgid " 3rd user vimrc file: \"" msgstr " 3er fichero «vimrc» del usuario: \"" -#: version.c:918 +#: version.c:913 msgid " user exrc file: \"" msgstr " fichero «exrc» del usuario: \"" -#: version.c:923 +#: version.c:918 msgid " 2nd user exrc file: \"" msgstr " 2º fichero «exrc» del usuario: \"" -#: version.c:929 +#: version.c:924 msgid " system gvimrc file: \"" msgstr " fichero «gvimrc» del sistema: \"" -#: version.c:933 +#: version.c:928 msgid " user gvimrc file: \"" msgstr " fichero «gvimrc» del usuario: \"" -#: version.c:937 +#: version.c:932 msgid "2nd user gvimrc file: \"" msgstr " 2º fichero «gvimrc» del usuario: \"" -#: version.c:942 +#: version.c:937 msgid "3rd user gvimrc file: \"" msgstr "3er fichero «gvimrc» del usuario: \"" -#: version.c:949 +#: version.c:944 msgid " system menu file: \"" msgstr " fichero de menú del sistema: \"" -#: version.c:957 +#: version.c:952 msgid " fall-back for $VIM: \"" msgstr " localización de $VIM: \"" -#: version.c:963 +#: version.c:958 msgid " f-b for $VIMRUNTIME: \"" msgstr " localización de $VIMRUNTIME: \"" -#: version.c:967 +#: version.c:962 msgid "Compilation: " msgstr "Compilación: " -#: version.c:973 +#: version.c:968 msgid "Compiler: " msgstr "Compilador: " -#: version.c:978 +#: version.c:973 msgid "Linking: " msgstr "Enlazado: " -#: version.c:983 +#: version.c:978 msgid " DEBUG BUILD" msgstr " COMPILACIÓN CON SÍMBOLOS DE DEPURACIÓN" -#: version.c:1022 +#: version.c:1017 msgid "VIM - Vi IMproved" msgstr "VIM - VI Mejorado" -#: version.c:1024 +#: version.c:1019 msgid "version " msgstr "versión " -#: version.c:1025 +#: version.c:1020 msgid "by Bram Moolenaar et al." msgstr "por Bram Moolenaar et al." -#: version.c:1029 +#: version.c:1024 msgid "Vim is open source and freely distributable" msgstr "Vim es código abierto y se puede distribuir libremente" -#: version.c:1031 +#: version.c:1026 msgid "Help poor children in Uganda!" msgstr "¡Ayude a los niños pobres de Uganda!" -#: version.c:1032 +#: version.c:1027 msgid "type :help iccf<Enter> for information " msgstr "escriba «:help iccf<Intro>» para más información " -#: version.c:1034 +#: version.c:1029 msgid "type :q<Enter> to exit " msgstr "escriba «:q<Intro>» para salir " -#: version.c:1035 +#: version.c:1030 msgid "type :help<Enter> or <F1> for on-line help" msgstr "escriba «:help<Intro> o <F1>» para obtener ayuda " -#: version.c:1036 +#: version.c:1031 msgid "type :help version6<Enter> for version info" msgstr "escriba «:help version6<Intro>» para información de la versión" -#: version.c:1039 +#: version.c:1034 msgid "Running in Vi compatible mode" msgstr "Ejecutando en modo compatible con Vi" -#: version.c:1040 +#: version.c:1035 msgid "type :set nocp<Enter> for Vim defaults" msgstr "escriba «:set nocp<Intro>» para los valores predefinidos de Vim" -#: version.c:1041 +#: version.c:1036 msgid "type :help cp-default<Enter> for info on this" msgstr "escriba «:help cp-default<Intro>» para más información" -#: version.c:1056 +#: version.c:1051 msgid "menu Help->Orphans for information " msgstr "menú Ayuda->Ayude a los niños huérfanos para más información " -#: version.c:1058 +#: version.c:1053 msgid "Running modeless, typed text is inserted" msgstr "Ejecución no modal, el texto escrito se inserta directamente" -#: version.c:1059 +#: version.c:1054 msgid "menu Edit->Global Settings->Toggle Insert Mode " msgstr "menu Editar->Opciones globales->Activar/Desactivar modo de inserción" -#: version.c:1060 +#: version.c:1055 msgid " for two modes " msgstr " para dos modos " -#: version.c:1064 +#: version.c:1059 msgid "menu Edit->Global Settings->Toggle Vi Compatible" msgstr "" "menu Editar->Opciones globales->Activar/Desactivar compatibilidad con Vi" -#: version.c:1065 +#: version.c:1060 msgid " for Vim defaults " msgstr "" " para los valores predeterminados de Vim" -#: version.c:1112 +#: version.c:1107 msgid "Sponsor Vim development!" msgstr "¡Patrocine el desarrollo de Vim!" -#: version.c:1113 +#: version.c:1108 msgid "Become a registered Vim user!" msgstr "¡Conviertase en un usuario registrado de Vim!" -#: version.c:1116 +#: version.c:1111 msgid "type :help sponsor<Enter> for information " msgstr "escriba :help sponsor<Intro> para más información " -#: version.c:1117 +#: version.c:1112 msgid "type :help register<Enter> for information " msgstr "escriba «:help register<Intro>» para más información " -#: version.c:1119 +#: version.c:1114 msgid "menu Help->Sponsor/Register for information " msgstr "menu Ayuda->Benefactor/Regístrese para más información." -#: version.c:1129 +#: version.c:1124 msgid "WARNING: Windows 95/98/ME detected" msgstr "AVISO: se ha detectado Windows 95/98/ME" -#: version.c:1132 +#: version.c:1127 msgid "type :help windows95<Enter> for info on this" msgstr "escriba: «:help windows95<Intro>» para más información" @@ -6316,16 +6430,16 @@ msgstr "Sólo hay una ventana." msgid "E445: Other window contains changes" msgstr "E445: Otra ventana contiene cambios." -#: window.c:4480 +#: window.c:4484 msgid "E446: No file name under cursor" msgstr "E446: No hay un nombre de fichero bajo el cursor" -#: window.c:4599 +#: window.c:4603 #, c-format msgid "E447: Can't find file \"%s\" in path" msgstr "E447: No se puede encontrar el fichero «%s» en la ruta" -#: if_perl.xs:326 globals.h:1241 +#: if_perl.xs:326 globals.h:1274 #, c-format msgid "E370: Could not load library %s" msgstr "E370: No se pudo cargar la biblioteca dinámica %s." @@ -6380,7 +6494,7 @@ msgstr "error en gvimext.dll" msgid "Path length too long!" msgstr "¡La ruta de acceso es demasiado larga!" -#: globals.h:1031 +#: globals.h:1036 msgid "--No lines in buffer--" msgstr "--No hay líneas en el buffer--" @@ -6390,395 +6504,395 @@ msgstr "--No hay líneas en el buffer--" #. * The error messages that can be shared are included here. #. * Excluded are errors that are only used once and debugging messages. #. -#: globals.h:1194 +#: globals.h:1227 msgid "E470: Command aborted" msgstr "E470: El comando abortó." -#: globals.h:1195 +#: globals.h:1228 msgid "E471: Argument required" msgstr "E471: Se requiere un argumento." -#: globals.h:1196 +#: globals.h:1229 msgid "E10: \\ should be followed by /, ? or &" msgstr "E10: \\ debería ir seguido de /, ? o &." -#: globals.h:1198 +#: globals.h:1231 msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" msgstr "" "E11: No es válido en la ventana de la línea de comandos: <CR> ejecuta, CTRL-" "C sale." -#: globals.h:1200 +#: globals.h:1233 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" msgstr "" "E12: Comando no permitido desde exrc/vimrc en el dir en curso o al buscar " "«tags»" -#: globals.h:1202 +#: globals.h:1235 msgid "E171: Missing :endif" msgstr "E171: Falta «:endif»" -#: globals.h:1203 +#: globals.h:1236 msgid "E600: Missing :endtry" msgstr "E600: Falta «:endtry»" -#: globals.h:1204 +#: globals.h:1237 msgid "E170: Missing :endwhile" msgstr "E170: Falta «:endwhile»" -#: globals.h:1205 +#: globals.h:1238 msgid "E588: :endwhile without :while" msgstr "E588: «:endwhile» sin «:while»." -#: globals.h:1207 +#: globals.h:1240 msgid "E13: File exists (add ! to override)" msgstr "E13: El fichero ya existe (use ! para sobreescribir)" -#: globals.h:1208 +#: globals.h:1241 msgid "E472: Command failed" msgstr "E472: Falló el comando" -#: globals.h:1210 +#: globals.h:1243 #, c-format msgid "E234: Unknown fontset: %s" msgstr "E234: Conjunto de fuentes de impresión desconocido: %s" -#: globals.h:1214 +#: globals.h:1247 #, c-format msgid "E235: Unknown font: %s" msgstr "E235: Fuente de impresión desconocida: %s" -#: globals.h:1217 +#: globals.h:1250 #, c-format msgid "E236: Font \"%s\" is not fixed-width" msgstr "E236: La fuente de impresión «%s» no es de ancho fijo" -#: globals.h:1219 +#: globals.h:1252 msgid "E473: Internal error" msgstr "E473: Error interno." -#: globals.h:1220 +#: globals.h:1253 msgid "Interrupted" msgstr "Interrumpido" -#: globals.h:1221 +#: globals.h:1254 msgid "E14: Invalid address" msgstr "E14: Dirección no válida" -#: globals.h:1222 +#: globals.h:1255 msgid "E474: Invalid argument" msgstr "E474: argumento no válido" -#: globals.h:1223 +#: globals.h:1256 #, c-format msgid "E475: Invalid argument: %s" msgstr "E475: Argumento no válido: %s." -#: globals.h:1225 +#: globals.h:1258 #, c-format msgid "E15: Invalid expression: %s" msgstr "E15: Expresión no válida: %s" -#: globals.h:1227 +#: globals.h:1260 msgid "E16: Invalid range" msgstr "E16: Rango no válido" -#: globals.h:1228 +#: globals.h:1261 msgid "E476: Invalid command" msgstr "E476: Nombre de comando no válido" -#: globals.h:1230 +#: globals.h:1263 #, c-format msgid "E17: \"%s\" is a directory" msgstr "E17: «%s» es un directorio" -#: globals.h:1233 +#: globals.h:1266 msgid "E18: Unexpected characters before '='" msgstr "E18: Caracteres inesperados delante de «=»" -#: globals.h:1236 +#: globals.h:1269 #, c-format msgid "E364: Library call failed for \"%s()\"" msgstr "E364: Falló la llamada a biblioteca para «%s»()" -#: globals.h:1242 +#: globals.h:1275 #, c-format msgid "E448: Could not load library function %s" msgstr "E448: Could not load library function %s" -#: globals.h:1244 +#: globals.h:1277 msgid "E19: Mark has invalid line number" msgstr "E19: La marca tiene un número de línea no válido" -#: globals.h:1245 +#: globals.h:1278 msgid "E20: Mark not set" msgstr "E20: Marca sin poner" -#: globals.h:1246 +#: globals.h:1279 msgid "E21: Cannot make changes, 'modifiable' is off" msgstr "E21: No se pueden hacer cambios, «modifiable» está desactivado" -#: globals.h:1247 +#: globals.h:1280 msgid "E22: Scripts nested too deep" msgstr "E22: Demasiados «scripts» anidados" -#: globals.h:1248 +#: globals.h:1281 msgid "E23: No alternate file" msgstr "E23: No hay un fichero alternativo" -#: globals.h:1249 +#: globals.h:1282 msgid "E24: No such abbreviation" msgstr "E24: Tal abreviatura no existe" -#: globals.h:1250 +#: globals.h:1283 msgid "E477: No ! allowed" msgstr "E477: «!» no está permitido." -#: globals.h:1252 +#: globals.h:1285 msgid "E25: GUI cannot be used: Not enabled at compile time" msgstr "E25: No se puede usar el GUI: no se ha activado al compilar." -#: globals.h:1255 +#: globals.h:1288 msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" msgstr "E26: No se puede usar el hebreo: no se ha activado al compilar\n" -#: globals.h:1258 +#: globals.h:1291 msgid "E27: Farsi cannot be used: Not enabled at compile time\n" msgstr "" "E27: No se puede usar el persa (farsi): no se ha activado al compilar\n" -#: globals.h:1261 +#: globals.h:1294 msgid "E800: Arabic cannot be used: Not enabled at compile time\n" msgstr "E800: No se puede usar el árabe: no se ha activado al compilar\n" -#: globals.h:1264 +#: globals.h:1297 #, c-format msgid "E28: No such highlight group name: %s" msgstr "E28: No existe el grupo de realzado con ese nombre: %s" -#: globals.h:1266 +#: globals.h:1299 msgid "E29: No inserted text yet" msgstr "E29: Aún no ha insertado texto." -#: globals.h:1267 +#: globals.h:1300 msgid "E30: No previous command line" msgstr "E30: No hay una línea de comandos previa" -#: globals.h:1268 +#: globals.h:1301 msgid "E31: No such mapping" msgstr "E31: No existe tal asociación." -#: globals.h:1269 +#: globals.h:1302 msgid "E479: No match" msgstr "E479: No hay coincidencia." -#: globals.h:1270 +#: globals.h:1303 #, c-format msgid "E480: No match: %s" msgstr "E480: No coincide: %s" -#: globals.h:1271 +#: globals.h:1304 msgid "E32: No file name" msgstr "E32: No hay un nombre de fichero." -#: globals.h:1272 +#: globals.h:1305 msgid "E33: No previous substitute regular expression" msgstr "E33: No existe una expresión regular de sustitución previa." -#: globals.h:1273 +#: globals.h:1306 msgid "E34: No previous command" msgstr "E34: No existe un comando previo." -#: globals.h:1274 +#: globals.h:1307 msgid "E35: No previous regular expression" msgstr "E35: No existe una expresión regular previa." -#: globals.h:1275 +#: globals.h:1308 msgid "E481: No range allowed" msgstr "E481: El rango no está permitido." -#: globals.h:1277 +#: globals.h:1310 msgid "E36: Not enough room" msgstr "E36: No hay espacio suficiente." -#: globals.h:1280 +#: globals.h:1313 #, c-format msgid "E247: no registered server named \"%s\"" msgstr "E247: El servidor «%s» no está registrado." -#: globals.h:1282 +#: globals.h:1315 #, c-format msgid "E482: Can't create file %s" msgstr "E482: No se puede crear el fichero «%s»" -#: globals.h:1283 +#: globals.h:1316 msgid "E483: Can't get temp file name" msgstr "E483: No puedo obtener el nombre del fichero temporal." -#: globals.h:1284 +#: globals.h:1317 #, c-format msgid "E484: Can't open file %s" msgstr "E484: No puedo abrir el fichero «%s»" -#: globals.h:1285 +#: globals.h:1318 #, c-format msgid "E485: Can't read file %s" msgstr "E485: No puedo leer el fichero «%s»." -#: globals.h:1286 +#: globals.h:1319 msgid "E37: No write since last change (add ! to override)" msgstr "" "E37: No se ha guardado el fichero desde el último cambio (añada ! para " "forzar)." -#: globals.h:1287 +#: globals.h:1320 msgid "E38: Null argument" msgstr "E38: Argumento nulo." -#: globals.h:1289 +#: globals.h:1322 msgid "E39: Number expected" msgstr "E39: Esperaba un número." -#: globals.h:1292 +#: globals.h:1325 #, c-format msgid "E40: Can't open errorfile %s" msgstr "E40: No puedo abrir el fichero de errores %s." -#: globals.h:1295 +#: globals.h:1328 msgid "E233: cannot open display" msgstr "E233: No se puede abrir la pantalla." -#: globals.h:1297 +#: globals.h:1330 msgid "E41: Out of memory!" msgstr "E41: ¡Memoria agotada!" -#: globals.h:1299 +#: globals.h:1332 msgid "Pattern not found" msgstr "No se encontró el patrón de búsqueda." -#: globals.h:1301 +#: globals.h:1334 #, c-format msgid "E486: Pattern not found: %s" msgstr "E486: No se encontró el patrón de búsqueda: %s" -#: globals.h:1302 +#: globals.h:1335 msgid "E487: Argument must be positive" msgstr "E487: El argumento debe ser positivo." -#: globals.h:1304 +#: globals.h:1337 msgid "E459: Cannot go back to previous directory" msgstr "E459: No puedo regresar al directorio previo." -#: globals.h:1308 +#: globals.h:1341 msgid "E42: No Errors" msgstr "E42: No hay errores" -#: globals.h:1310 +#: globals.h:1343 msgid "E43: Damaged match string" msgstr "E43: Cadena de concidencia dañada." -#: globals.h:1311 +#: globals.h:1344 msgid "E44: Corrupted regexp program" msgstr "E44: El programa «regexp» está corrupto." -#: globals.h:1312 +#: globals.h:1345 msgid "E45: 'readonly' option is set (add ! to override)" msgstr "E45: Está activa la opción «readonly» (añada «!» para forzar)." -#: globals.h:1314 +#: globals.h:1347 #, c-format msgid "E46: Cannot set read-only variable \"%s\"" msgstr "E46: No se puede definir la variable de sólo lectura «%s»." -#: globals.h:1317 +#: globals.h:1350 msgid "E47: Error while reading errorfile" msgstr "E47: Error al leer el fichero de errores." -#: globals.h:1320 +#: globals.h:1353 msgid "E48: Not allowed in sandbox" msgstr "E48: No se permite en el ambiente protegido." -#: globals.h:1322 +#: globals.h:1355 msgid "E523: Not allowed here" msgstr "E523: No se permite aquí." -#: globals.h:1325 +#: globals.h:1358 msgid "E359: Screen mode setting not supported" msgstr "E359: La configuración de la pantalla no es válida." -#: globals.h:1327 +#: globals.h:1360 msgid "E49: Invalid scroll size" msgstr "E49: El tamaño de desplazamiento no válido." -#: globals.h:1328 +#: globals.h:1361 msgid "E91: 'shell' option is empty" msgstr "E91: La opción «shell» está vacía." -#: globals.h:1330 +#: globals.h:1363 msgid "E255: Couldn't read in sign data!" msgstr "E255: ¡No se pudo leer los datos de los signos!" -#: globals.h:1332 +#: globals.h:1365 msgid "E72: Close error on swap file" msgstr "E72: Error de cierre en el fichero de intercambio" -#: globals.h:1333 +#: globals.h:1366 msgid "E73: tag stack empty" msgstr "E73: La pila de «tags» está vacía." -#: globals.h:1334 +#: globals.h:1367 msgid "E74: Command too complex" msgstr "E74: El comando es demasiado complejo." -#: globals.h:1335 +#: globals.h:1368 msgid "E75: Name too long" msgstr "E75: El nombre es demasiado largo." -#: globals.h:1336 +#: globals.h:1369 msgid "E76: Too many [" msgstr "E76: Hay demasiados [" -#: globals.h:1337 +#: globals.h:1370 msgid "E77: Too many file names" msgstr "E77: Hay demasiados nombres de ficheros." -#: globals.h:1338 +#: globals.h:1371 msgid "E488: Trailing characters" msgstr "E488: Caracteres en exceso al final de la línea." -#: globals.h:1339 +#: globals.h:1372 msgid "E78: Unknown mark" msgstr "E78: Marca desconocida." -#: globals.h:1340 +#: globals.h:1373 msgid "E79: Cannot expand wildcards" msgstr "E79: No puedo expandir los comodines." -#: globals.h:1342 +#: globals.h:1375 msgid "E591: 'winheight' cannot be smaller than 'winminheight'" msgstr "E591: «winheight» no puede ser más pequeño que «winminheight»." -#: globals.h:1344 +#: globals.h:1377 msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" msgstr "E592: «winwidth» no puede ser más pequeño que «winminwidth»." -#: globals.h:1347 +#: globals.h:1380 msgid "E80: Error while writing" msgstr "E80: Error al escribir el fichero." -#: globals.h:1348 +#: globals.h:1381 msgid "Zero count" msgstr "El recuento es cero." -#: globals.h:1350 +#: globals.h:1383 msgid "E81: Using <SID> not in a script context" msgstr "E81: Usando <SID> en un contexto que no es de «script»" -#: globals.h:1353 +#: globals.h:1386 msgid "E449: Invalid expression received" msgstr "E449: Recibí una expresión inválida." -#: globals.h:1356 +#: globals.h:1389 msgid "E463: Region is guarded, cannot modify" msgstr "E463: La región está protegida, no puedo modificarla." diff --git a/src/structs.h b/src/structs.h index 4f3b11f13..d43e55c8f 100644 --- a/src/structs.h +++ b/src/structs.h @@ -419,6 +419,7 @@ typedef struct # if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) int confirm; /* TRUE to invoke yes/no dialog */ # endif + int keepalt; /* TRUE when ":keepalt" was used */ int keepmarks; /* TRUE when ":keepmarks" was used */ int keepjumps; /* TRUE when ":keepjumps" was used */ int lockmarks; /* TRUE when ":lockmarks" was used */ @@ -922,7 +923,9 @@ struct file_buffer FSSpec b_FSSpec; /* MacOS File Identification */ #endif #ifdef VMS - char b_fab_rfm; /* Record format */ + char b_fab_rfm; /* Record format */ + char b_fab_rat; /* Record attribute */ + unsigned int b_fab_mrs; /* Max record size */ #endif #ifdef FEAT_SNIFF int b_sniff; /* file was loaded through Sniff */ diff --git a/src/term.c b/src/term.c index 656a40ef4..71b19116c 100644 --- a/src/term.c +++ b/src/term.c @@ -808,8 +808,20 @@ struct builtin_term builtin_termcaps[] = {(int)KS_CDL, IF_EB("\033[%dM", ESC_STR "[%dM")}, # endif {(int)KS_CL, IF_EB("\033[H\033[2J", ESC_STR "[H" ESC_STR_nc "[2J")}, + {(int)KS_CD, IF_EB("\033[J", ESC_STR "[J")}, + {(int)KS_CCO, "8"}, /* allow 8 colors */ {(int)KS_ME, IF_EB("\033[0m", ESC_STR "[0m")}, {(int)KS_MR, IF_EB("\033[7m", ESC_STR "[7m")}, + {(int)KS_MD, IF_EB("\033[1m", ESC_STR "[1m")}, /* bold mode */ + {(int)KS_SE, IF_EB("\033[22m", ESC_STR "[22m")},/* normal mode */ + {(int)KS_UE, IF_EB("\033[24m", ESC_STR "[24m")},/* exit underscore mode */ + {(int)KS_US, IF_EB("\033[4m", ESC_STR "[4m")}, /* underscore mode */ + {(int)KS_CZH, IF_EB("\033[34;43m", ESC_STR "[34;43m" )}, /* italic mode: blue text on yellow */ + {(int)KS_CZR, IF_EB("\033[0m", ESC_STR "[0m")}, /* italic mode end */ + {(int)KS_CAB, IF_EB("\033[4%dm", ESC_STR "[4%dm" )}, /* set background color (ANSI) */ + {(int)KS_CAF, IF_EB("\033[3%dm", ESC_STR "[3%dm" )}, /* set foreground color (ANSI) */ + {(int)KS_CSB, IF_EB("\033[102;%dm", ESC_STR "[102;%dm" )}, /* set screen background color */ + {(int)KS_CSF, IF_EB("\033[101;%dm", ESC_STR "[101;%dm" )}, /* set screen foreground color */ {(int)KS_MS, "y"}, {(int)KS_UT, "y"}, {(int)KS_LE, "\b"}, |