From 1333020b904a8714d01f4ae4789c5070e8ff90f2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 10:50:33 +0200 Subject: Adding debian version 2:9.0.1378-2. Signed-off-by: Daniel Baumann --- debian/FAQ | 7700 ++++++++++++++++++++ debian/NEWS | 15 + debian/README.Debian | 56 + debian/README.source | 41 + debian/bug-presubj | 6 + debian/bug-script | 8 + debian/changelog | 7338 +++++++++++++++++++ debian/changelog.upstream | 1365 ++++ debian/clean | 15 + debian/control | 265 + debian/copyright | 610 ++ debian/gbp.conf | 8 + debian/helpztags | 92 + ...7-where-indent-after-a-sub-would-not-work.patch | 22 + ...of-more-LaTeX-commands-for-tex-filetype-d.patch | 27 + ...t-filetype-using-the-contents-of-the-file.patch | 28 + ...s-decision-to-disable-modelines-by-defaul.patch | 29 + ...ng-a-vimrc.tiny-when-Vim-is-invoked-as-vi.patch | 101 + ...sing-uninitialized-memory-with-fuzzy-matc.patch | 147 + debian/patches/series | 6 + debian/policy/Makefile | 23 + debian/policy/authors.xml | 8 + debian/policy/legal.xml | 34 + debian/policy/pages.yml | 20 + debian/policy/vim-policy.xml | 228 + debian/rules | 348 + debian/runtime/debian.vim | 50 + debian/runtime/gvimrc | 17 + debian/runtime/vimrc | 62 + debian/salsa-ci.yml | 8 + debian/source/format | 1 + debian/source/lintian-overrides | 4 + debian/tests/control | 15 + debian/tests/upstreamtest | 11 + debian/tests/variants | 7 + debian/tiny/doc/README.Debian | 7 + debian/tiny/doc/help.txt | 37 + debian/tiny/doc/tags | 1 + debian/tiny/vimrc.tiny.in | 13 + debian/vim-common.dirs | 15 + debian/vim-common.install | 22 + debian/vim-common.links | 16 + debian/vim-common.lintian-overrides | 5 + debian/vim-common.manpages | 1 + debian/vim-common.mime | 4 + debian/vim-doc.doc-base.referencemanual | 11 + debian/vim-doc.doc-base.usermanual | 11 + debian/vim-doc.docs | 3 + debian/vim-doc.install | 1 + debian/vim-gtk3.alternatives | 114 + debian/vim-gtk3.install | 1 + debian/vim-gtk3.lintian-overrides | 2 + debian/vim-gui-common.dirs | 11 + debian/vim-gui-common.install | 10 + debian/vim-gui-common.links | 31 + debian/vim-gui-common.lintian-overrides | 5 + debian/vim-gui-common.mime | 2 + debian/vim-motif.alternatives | 114 + debian/vim-motif.install | 1 + debian/vim-motif.lintian-overrides | 2 + debian/vim-nox.alternatives | 79 + debian/vim-nox.install | 1 + debian/vim-nox.lintian-overrides | 2 + debian/vim-runtime.dirs | 10 + debian/vim-runtime.install | 10 + debian/vim-runtime.lintian-overrides | 9 + debian/vim-runtime.postinst | 34 + debian/vim-runtime.postrm.in | 28 + debian/vim-runtime.preinst.in | 27 + debian/vim-tiny.alternatives | 64 + debian/vim-tiny.dirs | 1 + debian/vim-tiny.install | 3 + debian/vim-tiny.lintian-overrides | 2 + debian/vim.alternatives | 79 + debian/vim.dirs | 1 + debian/vim.install | 1 + debian/vim.lintian-overrides | 2 + debian/watch | 4 + 78 files changed, 19512 insertions(+) create mode 100644 debian/FAQ create mode 100644 debian/NEWS create mode 100644 debian/README.Debian create mode 100644 debian/README.source create mode 100644 debian/bug-presubj create mode 100644 debian/bug-script create mode 100644 debian/changelog create mode 100644 debian/changelog.upstream create mode 100644 debian/clean create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/gbp.conf create mode 100755 debian/helpztags create mode 100644 debian/patches/Fix-GH-267-where-indent-after-a-sub-would-not-work.patch create mode 100644 debian/patches/debian/Add-recognition-of-more-LaTeX-commands-for-tex-filetype-d.patch create mode 100644 debian/patches/debian/Detect-the-rst-filetype-using-the-contents-of-the-file.patch create mode 100644 debian/patches/debian/Document-Debian-s-decision-to-disable-modelines-by-defaul.patch create mode 100644 debian/patches/debian/Support-sourcing-a-vimrc.tiny-when-Vim-is-invoked-as-vi.patch create mode 100644 debian/patches/patch-9.0.1499-using-uninitialized-memory-with-fuzzy-matc.patch create mode 100644 debian/patches/series create mode 100644 debian/policy/Makefile create mode 100644 debian/policy/authors.xml create mode 100644 debian/policy/legal.xml create mode 100644 debian/policy/pages.yml create mode 100644 debian/policy/vim-policy.xml create mode 100755 debian/rules create mode 100644 debian/runtime/debian.vim create mode 100644 debian/runtime/gvimrc create mode 100644 debian/runtime/vimrc create mode 100644 debian/salsa-ci.yml create mode 100644 debian/source/format create mode 100644 debian/source/lintian-overrides create mode 100644 debian/tests/control create mode 100755 debian/tests/upstreamtest create mode 100755 debian/tests/variants create mode 100644 debian/tiny/doc/README.Debian create mode 100644 debian/tiny/doc/help.txt create mode 100644 debian/tiny/doc/tags create mode 100644 debian/tiny/vimrc.tiny.in create mode 100644 debian/vim-common.dirs create mode 100644 debian/vim-common.install create mode 100644 debian/vim-common.links create mode 100644 debian/vim-common.lintian-overrides create mode 100644 debian/vim-common.manpages create mode 100644 debian/vim-common.mime create mode 100644 debian/vim-doc.doc-base.referencemanual create mode 100644 debian/vim-doc.doc-base.usermanual create mode 100644 debian/vim-doc.docs create mode 100644 debian/vim-doc.install create mode 100644 debian/vim-gtk3.alternatives create mode 100644 debian/vim-gtk3.install create mode 100644 debian/vim-gtk3.lintian-overrides create mode 100644 debian/vim-gui-common.dirs create mode 100644 debian/vim-gui-common.install create mode 100644 debian/vim-gui-common.links create mode 100644 debian/vim-gui-common.lintian-overrides create mode 100644 debian/vim-gui-common.mime create mode 100644 debian/vim-motif.alternatives create mode 100644 debian/vim-motif.install create mode 100644 debian/vim-motif.lintian-overrides create mode 100644 debian/vim-nox.alternatives create mode 100644 debian/vim-nox.install create mode 100644 debian/vim-nox.lintian-overrides create mode 100644 debian/vim-runtime.dirs create mode 100644 debian/vim-runtime.install create mode 100644 debian/vim-runtime.lintian-overrides create mode 100644 debian/vim-runtime.postinst create mode 100644 debian/vim-runtime.postrm.in create mode 100644 debian/vim-runtime.preinst.in create mode 100644 debian/vim-tiny.alternatives create mode 100644 debian/vim-tiny.dirs create mode 100644 debian/vim-tiny.install create mode 100644 debian/vim-tiny.lintian-overrides create mode 100644 debian/vim.alternatives create mode 100644 debian/vim.dirs create mode 100644 debian/vim.install create mode 100644 debian/vim.lintian-overrides create mode 100644 debian/watch diff --git a/debian/FAQ b/debian/FAQ new file mode 100644 index 0000000..bf70b7e --- /dev/null +++ b/debian/FAQ @@ -0,0 +1,7700 @@ +vim:tw=75:wrap:fo=tcqn2:sw=4:sts=4:et + +This Vim FAQ is created from the questions and answers posted to the +vim@vim.org user mailing list and the comp.editors newsgroup. There are +several ways to solve a problem in Vim. This FAQ gives one of those several +possibilities. You can explore the other ways using the information and +links given in this FAQ. The credit for the answers in this FAQ goes to +Peppe, Benji, Charles Campbell and numerous others. + +INDEX + +SECTION 1 - GENERAL INFORMATION + 1.1. What is Vim? + 1.2. Who wrote Vim? + 1.3. Is Vim compatible with Vi? + 1.4. What are some of the improvements of Vim over Vi? + 1.5. Is Vim free? + +SECTION 2 - RESOURCES + 2.1. Where can I learn more about Vim? + 2.2. Is there a mailing list available? + 2.3. Is there an archive available for the Vim mailing lists? + 2.4. Where can I get the Vim user manual in HTML/PDF/PS format? + 2.5. I have a "xyz" (some) problem with Vim. How do I determine it is a + problem with my setup or with Vim? + 2.6. Where can I report bugs? + 2.7. Where can the FAQ be found? + 2.8. What if I don't find an answer in this FAQ? + 2.9. I have a patch for implementing a Vim feature. Where do I send the + patch? + 2.10. I have a Vim tip or developed a new Vim + syntax/indent/filetype/compiler plugin or developed a new script + or a colorscheme. Is there a public website where I can upload + this? + +SECTION 3 - AVAILABILITY + 3.1. What is the latest version of Vim? + 3.2. Where can I find the latest version of Vim? + 3.3. What platforms does it run on? + 3.4. Where can I download the latest version of the Vim runtime files? + +SECTION 4 - HELP + 4.1. How do I use the help files? + 4.2. How do I search for a keyword in the Vim help files? + 4.3. I am getting an error message E123, what did I do wrong? + 4.4. Where can I read about the various modes in Vim? + 4.5. How do I generate the Vim help tags file after adding a new Vim + help file? + 4.6. Can I use compressed versions of the help files? + +SECTION 5 - EDITING A FILE + 5.1. How do I load a file in Vim for editing? + 5.2. How do I save the current file in another name (save as) and edit + a new file? + 5.3. How do I change the current directory to the directory of the + current file? + 5.4. How do I write a file without the line feed (EOL) at the end of + the file? + 5.5. How do I configure Vim to open a file at the last edited location? + 5.6. When editing a file in Vim, which is being changed by an external + application, Vim opens a warning window (like the confirm dialog) + each time a change is detected. How do I disable this warning? + 5.7. How do I edit a file whose name is under the cursor? + 5.8. How do I reload/re-edit the current file? + 5.9. How do I autosave a file periodically? + 5.10. How do I open a file in read-only mode? + 5.11. How do I open a file for editing without saving the modifications + to the current file? + +SECTION 6 - EDITING MULTIPLE FILES + 6.1. How do I open multiple files at once from within Vim? + 6.2. How do I switch between multiple files/buffers in Vim? + 6.3. How do I open several files in Vim, with each file in a separate + window? + 6.4. How do I configure Vim to autoload several files at once similar + to "work-sets" or "projects"? + 6.5. Is it possible to open multiple top level windows in a single + instance of Vim similar to Nedit or emacs? + 6.6. How do I browse/explore directories from within Vim? + 6.7. How do I edit files over a network using ftp/scp/rcp/http? + +SECTION 7 - BACKUP + 7.1. When I edit and save files, Vim creates a file with the same name + as the original file and a "~" character at the end. How do I stop + Vim from creating this file (or) How do I disable the Vim backup + file feature? + 7.2. How do I configure Vim to store all the backup files in a + particular directory? + 7.3. When I save a file with Vim, the file permissions are changed. + How do I configure Vim to save a file without changing the file + permissions? + +SECTION 8 - BUFFERS + 8.1. I have made some modifications to a buffer. How do I edit another + buffer without saving the modified buffer and also without losing + the modifications? + 8.2. How do I configure Vim to auto-save a modified buffer when + switching to another buffer? + 8.3. How do I replace the buffer in the current window with a blank + buffer? + 8.4. Is there a keyboard shortcut to load a buffer by the buffer + number? + 8.5. How do I open all the current buffers in separate windows? + 8.6. How do I close (delete) a buffer without exiting Vim? + 8.7. I have several buffers opened with ":e filename". How do I close + one of the buffers without exiting Vim? + 8.8. When I use the command ":%bd" to delete all the buffers, not all + the buffers are deleted. Why? + 8.9. How do I display the buffer number of the current buffer/file? + 8.10. How do I delete a buffer without closing the window in which the + buffer is displayed? + 8.11. How do I map the tab key to cycle through and open all the + buffers? + +SECTION 9 - WINDOWS + 9.1. What is the difference between a Vim window and a buffer? + 9.2. How do I increase the width of a Vim window? + 9.3. How do I zoom into or out of a window? + 9.4. How do I execute an ex command on all the open buffers or open + windows or all the files in the argument list? + +SECTION 10 - MOTION + 10.1. How do I jump to the beginning (first line) or end (last line) of + a file? + 10.2. In insert mode, when I press the key to go to command mode, + the cursor moves one character to the left (except when the cursor + is on the first character of the line). Is it possible to change + this behavior to keep the cursor at the same column? + 10.3. How do I configure Vim to maintain the horizontal cursor position + when scrolling with the , , etc keys? + 10.4. Some lines in a file are more than the screen width and they are + all wrapped. When I use the j, k keys to move from one line to the + next, the cursor is moved to the next line in the file instead of + the next line on the screen. How do I move from one screen line to + the next? + 10.5. What is the definition of a sentence, paragraph and section in + Vim? + 10.6. How do I jump to beginning or end of a sentence, paragraph or a + section? + 10.7. I have lines in a file that extends beyond the right extent of the + screen. How do I move the Vim view to the right to see the text + off the screen? + 10.8. How do I scroll two or more buffers simultaneously? + 10.9. When I use my arrow keys, Vim changes modes, inserts weird + characters in my document but doesn't move the cursor properly. + What's going on? + 10.10. How do I configure Vim to move the cursor to the end of the + previous line, when the left arrow key is pressed and the cursor + is currently at the beginning of a line? + 10.11. How do I configure Vim to stay only in insert mode (modeless + editing)? + 10.12. How do I display some context lines when scrolling text? + 10.13. How do I go back to previous cursor locations? + +SECTION 11 - SEARCHING TEXT + 11.1. After I searched for a text with a pattern, all the matched text + stays highlighted. How do I turn off the highlighting + temporarily/permanently? + 11.2. How do I enter a carriage return character in a search pattern? + 11.3. How do I search for the character ^M? + 11.4. How can I search/replace characters that display as '~R', '~S', + etc.? + 11.5. How do I highlight all the non-printable characters in a file? + 11.6. How do I search for whole words in a file? + 11.7. How do I search for the current word under the cursor? + 11.8. How do I search for a word without regard to the case (uppercase + or lowercase)? + 11.9. How do I search for words that occur twice consecutively? + 11.10. How do I count the number of times a particular word occurs in a + buffer? + 11.11. How do I place the cursor at the end of the matched word when + searching for a pattern? + 11.12. How do I search for an empty line? + 11.13. How do I search for a line containing only a single character? + 11.14. How do I search and replace a string in multiple files? + 11.15. I am using the ":s" substitute command in a mapping. When a + search for a pattern fails, the map terminates. I would like the + map to continue processing the next command, even if the + substitute command fails. How do I do this? + 11.16. How do I search for the n-th occurrence of a character in a + line? + 11.17. How do I replace a tab (or any other character) with a hard + return (newline) character? + 11.18. How do I search for a character by its ASCII value? + 11.19. How do I search for long lines? + 11.20. How do I display all the lines in the current buffer that + contain a specified pattern? + 11.21. How do I search for a text string that spans multiple lines? + 11.22. How do I search for a pattern only within a range of lines + in a buffer? + +SECTION 12 - CHANGING TEXT + 12.1. How do I delete all the trailing white space characters (SPACE + and TAB) at the end of all the lines in a file? + 12.2. How do I replace all the occurrences of multiple consecutive + space characters to a single space? + 12.3. How do I reduce a range of empty lines into one line only? + 12.4. How do I delete all blank lines in a file? How do I remove all + the lines containing only space characters? + 12.5. How do I copy/yank the current word? + 12.6. How do I yank text from one position to another position within a + line, without yanking the entire line? + 12.7. When I yank some text into a register, how do I append the text + to the current contents of the register? + 12.8. How do I yank a complete sentence that spans over more than one + line? + 12.9. How do I yank all the lines containing a pattern into a buffer? + 12.10. How do I delete all the lines in a file that does not contain a + pattern? + 12.11. How do I add a line before each line with "pattern" in it? + 12.12. Is there a way to operate on a line if the previous line + contains a particular pattern? + 12.13. How do I execute a command on all the lines containing a + pattern? + 12.14. Can I copy the character above the cursor to the current cursor + position? + 12.15. How do I insert a blank line above/below the current line + without entering insert mode? + 12.16. How do I insert the name of current file into the current + buffer? + 12.17. How do I insert the contents of a Vim register into the current + buffer? + 12.18. How do I move the cursor past the end of line and insert some + characters at some columns after the end of the line? + 12.19. How to replace the word under the cursor (say: junk) with + "foojunkbar" in Vim? + 12.20. How do I replace a particular text in all the files in a + directory? + 12.21. I have some numbers in a file. How do I increment or decrement + the numbers in the file? + 12.22. How do I reuse the last used search pattern in a ":substitute" + command? + 12.23. How do I change the case of a string using the ":substitute" + command? + 12.24. How do I enter characters that are not present in the keyboard? + 12.25. Is there a command to remove any or all digraphs? + 12.26. In insert mode, when I press the backspace key, it erases only + the characters entered in this instance of insert mode. How do I + erase previously entered characters in insert mode using the + backspace key? + 12.27. I have a file which has lines longer than 72 characters + terminated with "+" and wrapped to the next line. How can I + quickly join the lines? + 12.28. How do I paste characterwise yanked text into separate lines? + 12.29. How do I change the case (uppercase, lowercase) of a word or + a character or a block of text? + 12.30. How do I enter ASCII characters that are not present in the + keyboard? + 12.31. How do I replace non-printable characters in a file? + 12.32. How do I remove duplicate lines from a buffer? + 12.33. How do I prefix all the lines in a file with the corresponding + line numbers? + 12.34. How do I exchange (swap) two characters or words or lines? + 12.35. How do I change the characters used as word delimiters? + +SECTION 13 - COMPLETION IN INSERT MODE + 13.1. How do I complete words or lines in insert mode? + 13.2. How do I complete file names in insert mode? + 13.3. I am using CTRL-P/CTRL-N to complete words in insert mode. How do + I complete words that occur after the just completed word? + +SECTION 14 - TEXT FORMATTING + 14.1. How do I format a text paragraph so that a new line is inserted + at the end of each wrapped line? + 14.2. How do I format long lines in a file so that each line contains + less than 'n' characters? + 14.3. How do I join short lines to the form a paragraph? + 14.4. How do I format bulleted and numbered lists? + 14.5. How do I indent lines in insert mode? + 14.6. How do I format/indent an entire file? + 14.7. How do I increase or decrease the indentation of the current + line? + 14.8. How do I indent a block/group of lines? + 14.9. When I indent lines using the > or < key, the standard 8-tabstops + are used instead of the current 'tabstop' setting. Why? + 14.10. How do I turn off the automatic indentation of text? + 14.11. How do I configure Vim to automatically set the 'textwidth' + option to a particular value when I edit mails? + 14.12. Is there a way to make Vim auto-magically break lines? + 14.13. I am seeing a lot of ^M symbols in my file. I tried setting the + 'fileformat' option to 'dos' and then 'unix' and then 'mac'. + None of these helped. How can I hide these symbols? + 14.14. When I paste some text into a Vim buffer from another + application, the alignment (indentation) of the new text is + messed up. How do I fix this? + 14.15. When there is a very long wrapped line (wrap is "on") and a line + doesn't fit entirely on the screen it is not displayed at all. + There are blank lines beginning with '@' symbol instead of + wrapped line. If I scroll the screen to fit the line the '@' + symbols disappear and the line is displayed again. What Vim + setting control this behavior? + 14.16. How do I convert all the tab characters in a file to space + characters? + 14.17. What Vim options can I use to edit text that will later go to a + word processor? + 14.18. How do I join lines without adding or removing any space + characters? + +SECTION 15 - VISUAL MODE + 15.1. How do I do rectangular block copying? + 15.2. How do I delete or change a column of text in a file? + 15.3. How do I apply an ex-command on a set of visually selected lines? + 15.4. How do I execute an ex command on a column of text selected in + Visual block mode? + 15.5. How do I select the entire file in visual mode? + 15.6. When I visually select a set of lines and press the > key to + indent the selected lines, the visual mode ends. How can I + reselect the region for further operation? (or) How do I + re-select the last selected visual area again? + 15.7. How do I jump to the beginning/end of a visually selected region? + 15.8. When I select text with mouse and then press : to enter an ex + command, the selected text is replaced with the : character. How + do I execute an ex command on a text selected using the mouse + similar to the text selected using the visual mode? + 15.9. When I select a block of text using the mouse, Vim goes into + selection mode instead of Visual mode. Why? + +SECTION 16 - COMMAND-LINE MODE + 16.1. How do I use the name of the current file in the command mode or + an ex command line? + 16.2. How do I edit the text in the Vim command-line effectively? + 16.3. How do I switch from Vi mode to Ex mode? + 16.4. How do I copy the output from an ex-command into a buffer? + 16.5. When I press the tab key to complete the name of a file in the + command mode, if there are more than one matching file names, + then Vim completes the first matching file name and displays a + list of all matching filenames. How do I configure Vim to only + display the list of all the matching filenames and not complete + the first one? + 16.6. How do I copy text from a buffer to the command line and from the + command line to a buffer? + 16.7. How do I put a command onto the command history without executing + it? + 16.8. How do I increase the height of the command-line? + +SECTION 17 - VIMINFO + 17.1. When I invoke Vim, I get error messages about illegal characters + in the viminfo file. What should I do to get rid of these + messages? + 17.2. How do I disable the viminfo feature? + 17.3. How do I save and use Vim marks across Vim sessions? + +SECTION 18 - REMOTE EDITING + 18.1. How do I open a file with existing instance of gvim? What + happened to the Vim 5.x OpenWithVim.exe and SendToVim.exe files? + 18.2. How do I send a command to a Vim server to write all buffers to + disk? + 18.3. Where can I get the documentation about the Vim remote server + functionality? + +SECTION 19 - OPTIONS + 19.1. How do I configure Vim in a simple way? + 19.2. How do I toggle the value of an option? + 19.3. How do I set an option that affects only the current + buffer/window? + 19.4. How do I use space characters for a Vim option value? + 19.5. Can I add (embed) Vim option settings to the contents of a file? + 19.6. How do I display the line numbers of all the lines in a file? + 19.7. How do I change the width of the line numbers displayed using the + "number" option? + 19.8. How do I display (view) all the invisible characters like space, + tabs and newlines in a file? + 19.9. How do I configure Vim to always display the current line and + column number? + 19.10. How do I display the current Vim mode? + 19.11. How do I configure Vim to show pending/partial commands on the + status line? + 19.12. How do I configure the Vim status line to display different + settings/values? + 19.13. How do I configure Vim to display status line always? + 19.14. How do I make a Vim setting persistent across different Vim + invocations/instances/sessions? + 19.15. Why do I hear a beep (why does my window flash) about 1 second + after I hit the Escape key? + 19.16. How do I make the 'c' and 's' commands display a '$' instead of + deleting the characters I'm changing? + 19.17. How do I remove more than one flag using a single ":set" command + from a Vim option? + +SECTION 20 - MAPPING KEYS + 20.1. How do I know what a key is mapped to? + 20.2. How do list all the user-defined key mappings? + 20.3. How do I unmap a key? + 20.4. I am not able to create a mapping for the key. What is + wrong? + 20.5. How do I map the numeric keypad keys? + 20.6. How do I create a mapping that works only in visual mode? + 20.7. In a Vim script, how do I know which keys to use for my mappings, + so that the mapped key will not collide with an already used key? + 20.8. How do I map the escape key? + 20.9. How do I map a key to perform nothing? + 20.10. I want to use the Tab key to indent a block of text and + Shift-Tab key to unindent a block of text. How do I map the keys + to do this? This behavior is similar to textpad, visual studio, + etc. + 20.11. In my mappings the special characters like are not + recognized. How can I configure Vim to recognize special + characters? + 20.12. How do I use the '|' to separate multiple commands in a map? + 20.13. If I have a mapping/abbreviation whose ending is the beginning of + another mapping/abbreviation, how do I keep the first from + expanding into the second one? + 20.14. Why does it take a second or more for Vim to process a key, + sometimes when I press a key? + 20.15. How do I map a key to run an external command using a visually + selected text? + 20.16. How do I map the Ctrl-I key while still retaining the + functionality of the key? + +SECTION 21 - ABBREVIATIONS + 21.1. How do I auto correct misspelled words? + 21.2. How do I create multi-line abbreviations? + 21.3. When my abbreviations are expanded, an additional space character + is added at the end of the expanded text. How do I avoid this + character? + 21.4. How do I insert the current date/time stamp into the file? + 21.5. How do I prevent an abbreviation from expanding in insert mode? + +SECTION 22 - RECORD AND PLAYBACK + 22.1. How do I repeat an editing operation (insertion, deletion, paste, + etc)? + 22.2. How I record and repeat a set of key sequences? + 22.3. How do I edit/modify a recorded set of key sequences? + 22.4. How do I write recorded key sequences to a file? + 22.5. I am using register 0 to record my key sequences (i.e. q0 .... + q). In the recorded key sequences, I am yanking some text. After + the first replay of the recorded key sequence, I am no longer + able to play it back. + +SECTION 23 - AUTOCOMMANDS + 23.1. How do I execute a command when I try to modify a read-only file? + 23.2. How do I execute a command every time when entering a buffer? + 23.3. How do I execute a command every time when entering a window? + 23.4. From an autocmd, how can I determine the name of the file or the + buffer number for which the autocommand is executed? + 23.5. How do I automatically save all the changed buffers whenever Vim + loses focus? + 23.6. How do I execute/run a function when Vim exits to do some + cleanup? + +SECTION 24 - SYNTAX HIGHLIGHT + 24.1. How do I turn off/on syntax highlighting? + 24.2. How do I change the background and foreground colors used by Vim? + 24.3. How do I change the highlight colors to suit a dark/light + background? + 24.4. How do I change the color of the line numbers displayed when the + ":set number" command is used? + 24.5. How do I change the background color used for a Visually selected + block? + 24.6. How do I highlight the special characters (tabs, trailing spaces, + end of line, etc) displayed by the 'list' option? + 24.7. How do I specify a colorscheme in my .vimrc/.gvimrc file, so that + Vim uses the specified colorscheme everytime? + 24.8. Vim syntax highlighting is broken. When I am editing a file, some + parts of the file is not syntax highlighted or syntax highlighted + incorrectly. + 24.9. Is there a built-in function to syntax-highlight the + corresponding matching bracket? + 24.10. How do I turn off the C comment syntax highlighting? + 24.11. How do I add my own syntax extensions to the standard syntax + files supplied with Vim? + 24.12. How do I replace a standard syntax file that comes with the Vim + distribution with my own syntax file? + 24.13. How do I highlight all the characters after a particular column? + 24.14. How do I convert a source file (.c, .h, etc) with the Vim syntax + highlighting into a HTML file? + 24.15. How do I list the definition of all the current highlight + groups? + +SECTION 25 - VIM SCRIPT WRITING + 25.1. How do I list the names of all the scripts sourced by Vim? + 25.2. How do I debug Vim scripts? + 25.3. How do I locate the script/plugin which sets a Vim option? + 25.4. I am getting some error/informational messages from Vim (possibly + when running a script), the messages are cleared immediately. How + do I display the messages again? + 25.5. How do I save and restore a plugin specific information across + Vim invocations? + 25.6. How do I start insert mode from a Vim function? + 25.7. How do I change the cursor position from within a Vim function? + 25.8. How do I check the value of an environment variable in the .vimrc + file? + 25.9. How do I check whether an environment variable is set or not from + a Vim function? + 25.10. How do I call/use the Vim built-in functions? + 25.11. I am using some normal mode commands in my Vim script. How do I + avoid using the user-defined mappings for these normal mode + commands and use the standard Vim functionality for these normal + mode commands? + 25.12. How do I get a visually selected text into a Vim variable or + register? + 25.13. I have some text in a Vim variable 'myvar'. I would like to use + this variable in a ":s" substitute command to replace a text + 'mytext'. How do I do this? + 25.14. A Vim variable (bno) contains a buffer number. How do I use this + variable to open the corresponding buffer? + 25.15. How do I store the value of a Vim option into a Vim variable? + 25.16. I have copied and inserted some text into a buffer from a Vim + function. How do I indent the inserted text from the Vim + function? + 25.17. How do I get the character under the cursor from a Vim script? + 25.18. How do I get the name of the current file without the extension? + 25.19. How do I get the basename of the current file? + 25.20. How do I get the output from a Vim function into the current + buffer? + 25.21. How do I call external programs from a Vim function? + 25.22. How do I get the return status of a program executed using the + ":!" command? + 25.23. How do I determine whether the current buffer is modified or + not? + 25.24. I would like to use the carriage return character in a normal + command from a Vim script. How do I specify the carriage return + character? + 25.25. How do I split long lines in a Vim script? + 25.26. When I try to "execute" my function using the "execute 'echo + Myfunc()'" command, the cursor is moved to the top of the + current buffer. Why? + 25.27. How do I source/execute the contents of a register? + 25.28. After calling a Vim function or a mapping, when I press the 'u' + key to undo the last change, Vim undoes all the changes made by + the mapping/function. Why? + 25.29. How can I call a function defined with s: (script local + function) from another script/plugin? + 25.30. Is it possible to un-source a sourced script? In otherwords, + reverse all the commands executed by sourcing a script. + +SECTION 26 - PLUGINS + 26.1. How do I set different options for different types of files? + 26.2. I have downloaded a Vim plugin or a syntax file or a indent file, + or a color scheme or a filetype plugin from the web. Where should + I copy these files so that Vim will find them? + 26.3. How do I extend an existing filetype plugin? + 26.4. How do I turn off loading the Vim plugins? + 26.5. How do I turn on/off loading the filetype plugins? + 26.6. How do I override settings made in a file type plugin in the + global ftplugin directory for all the file types? + 26.7. How do I disable the Vim directory browser plugin? + 26.8. How do I set the filetype option for files with names matching a + particular pattern or depending on the file extension? + +SECTION 27 - EDITING PROGRAM FILES + 27.1. How do I enable automatic indentation for C/C++ files? + 27.2. How do I configure the indentation used for C/C++ files? + 27.3. How do I turn off the automatic indentation feature? + 27.4. How do I change the number of space characters used for the + automatic indentation? + 27.5. I am editing a C program using Vim. How do I display the + definition of a macro or a variable? + 27.6. I am editing a C program using Vim. How do I jump to the + beginning or end of a code block from within the block? + 27.7. Is there a way to turn off the "//" comment auto-insertion + behavior for C++ files? If I'm sitting on a line beginning with + "//", then I open a new line above or below it, Vim automatically + inserts new "//" chars. + 27.8. How do I add the comment character '#' to a set of lines at the + beginning of each line? + 27.9. How do I edit a header file with the same name as the + corresponding C source file? + 27.10. How do I automatically insert comment leaders while typing + comments? + +SECTION 28 - QUICKFIX + 28.1. How do I build programs from Vim? + 28.2. When I run the make command in Vim I get the errors listed as the + compiler compiles the program. When it finishes this list + disappears and I have to use the :clist command to see the error + message again. Is there any other way to see these error + messages? + +SECTION 29 - FOLDING + 29.1. How do I extend the Vim folding support? + 29.2. When I enable folding by setting the 'foldmethod' option, all the + folds are closed. How do I prevent this? + 29.3. How do I control how many folds will be opened when I start + editing a file? + 29.4. How do I open and close folds using the mouse? + 29.5. How do I change the text displayed for a closed fold? + 29.6. How do I store and restore manually created folds across + different Vim invocations? + +SECTION 30 - VIM WITH EXTERNAL APPLICATIONS + 30.1. Can I run a shell inside a Vim window? + 30.2. How do I pass the word under the cursor to an external command? + 30.3. How do I get the output of a shell command into a Vim buffer? + 30.4. How do I pipe the contents of the current buffer to an external + command and replace the contents of the buffer with the output + from the command? + 30.5. How do I sort a section of my file? + 30.6. Is there a step-by-step guide for using Vim with slrn? + 30.7. How do I use Vim as a pager? + 30.8. How do I view Unix man pages from inside Vim? + 30.9. How do I change the diff command used by the Vim diff support? + 30.10. How do I use the Vim diff mode without folding? + +SECTION 31 - GUI VIM + 31.1. How do I create buffer specific menus? + 31.2. How do I change the font used by GUI Vim? + 31.3. When starting GUI Vim, how do I specify the location of the GVIM + window? + 31.4. How do I add a horizontal scrollbar in GVim? + 31.5. How do I make the scrollbar appear in the left side by default? + 31.6. How do I remove the Vim menubar? + 31.7. I am using GUI Vim. When I press the ALT key and a letter, the + menu starting with that letter is selected. I don't want this + behavior as I want to map the ALT- combination. How do I do + this? + 31.8. Is it possible to scroll the text by dragging the scrollbar so + that the cursor stays in the original location? + 31.9. How do I get gvim to start browsing files in a particular + directory when using the ":browse" command? + 31.10. For some questions, like when a file is changed outside of Vim, + Vim displays a GUI dialog box. How do I replace this GUI dialog + box with a console dialog box? + 31.11. I am trying to use GUI Vim as the editor for my xxx application. + When the xxx application launches GUI Vim to edit a file, the + control immediately returns to the xxx application. How do I + start GUI Vim, so that the control returns to the xxx + application only after I quit Vim? + 31.12. Why does the "Select Font" dialog doesn't show all the fonts + installed in my system? + 31.13. How do I use the mouse in Vim command-line mode? + 31.14. When I use the middle mouse button to scroll text, it pastes the + last copied text. How do I disable this behavior? + 31.15. How do I change the location and size of a GUI Vim window? + +SECTION 32 - VIM ON UNIX + 32.1. I am running Vim in a xterm. When I press the CTRL-S key, Vim + freezes. What should I do now? + 32.2. I am seeing weird screen update problems in Vim. What can I do to + solve this screen/display update problems? + 32.3. I am using the terminal/console version of Vim. In insertmode, + When I press the backspace key, the character before the cursor + is not erased. How do I configure Vim to do this? + 32.4. I am using Vim in a xterm. When I quit Vim, the screen contents + are restored back to the original contents. How do I disable + this? + 32.5. When I start Vim, it takes quite a few seconds to start. How do I + minimize the startup time? + 32.6. How can I make the cursor in gvim in unix stop blinking? + 32.7. How do I change the menu font on GTK Vim? + 32.8. How do I prevent from suspending Vim? + 32.9. When I kill the xterm running Vim, the Vim process continues to + run and takes up a lot of CPU (99%) time. Why is this happening? + 32.10. How do I get the Vim syntax highlighting to work in a Unix + terminal? + +SECTION 33 - VIM ON MS-WINDOWS + 33.1. In MS-Windows, CTRL-V doesn't start the blockwise visual mode. + What happened? + 33.2. When I press the CTRL-Y key, it acts like the CTRL-R key. How do + I configure Vim to treat CTRL-Y as CTRL-Y? + 33.3. How do I start GUI Vim in a maximized window always? + 33.4. After doing some editing operations, Vim freezes. The cursor + becomes an empty rectangle. I am not able enter any characters. + What is happening? + 33.5. I am using Windows XP, the display speed of maximized GVim is + very slow. What can I do to speed the display updates? + 33.6. What are the recommended settings for using Vim with cygwin? + 33.7. I am trying to use GNU diff with Vim diff mode. When I run the + diff from command line, it works. When I try to use the diff with + Vim it doesn't work. What should I do now? + 33.8. Is it possible to use Vim as an external editor for MS-Windows + Outlook email client? + 33.9. I am using Vim to edit HTML files. How do I start internet + explorer with the current file to preview the HTML file? + 33.10. I would like to use Vim with Microsoft Visual Studio. How do I + do this? + 33.11. Where do I place the _vimrc and _gvimrc files? + 33.12. Everytime I save a file, Vim warns about the file being changed + outside of Vim. Why? + +SECTION 34 - PRINTING + 34.1. How do I print a file along with line numbers for all the lines? + 34.2. How do I print a file with the Vim syntax highlighting colors? + +SECTION 35 - BUILDING VIM FROM SOURCE + 35.1. How do I build Vim from the sources on a Unix system? + 35.2. How do I install Vim in my home directory or a directory other + than the default installation directory in Unix? + 35.3. How do I build Vim from the sources on a MS-Windows system? + 35.4. The Vim help, syntax, indent files are missing from my Vim + installation. How do I install these files? + 35.5. I have built Vim from the source and installed the Vim package + using "make install". Do I need to keep the Vim source directory? + 35.6. How do I determine the Vim features which are enabled at compile + time? + 35.7. Can I build Vim without the GUI support? + 35.8. When building Vim on a Unix system, I am getting "undefined + reference to term_set_winsize' error. How do I resolve this + error? + 35.9. Vim configure keeps complaining about the lack of gtk-config + while trying to use GTK 2.03. This is correct, since in GTK 2 + they moved to using the generic pkg-config. I can get pkg-config + to list the various includes and libs for gtk, but for some + reason the configure script still isn't picking this up. + +SECTION 36 - VARIOUS + 36.1. How do I edit binary files with Vim? + 36.2. How do I disable the visual error flash and the error beep? + 36.3. How do I display the ascii value of a character displayed in a + buffer? + 36.4. Can I use zero as a count for a Vim command? + 36.5. How do I disable the Vim welcome screen? + 36.6. How do I avoid the "hit enter to continue" prompt? + 36.7. How do I invoke Vim from command line to run a group of commands + on a group of files? + 36.8. How do I use a normal mode command from insert mode without + leaving the insert mode? + 36.9. How do I start Vim in insert mode? + +SECTION 37 - UNICODE + 37.1. Is it possible to create Unicode files using Vim? + 37.2. Which Vim settings are particularly important for editing Unicode + files? + 37.3. What is the 'encoding' option? + 37.4. How does Vim name the various Unicode encodings? + 37.5. How does Vim specify the presence or absence of a byte-order + mark? + 37.6. What is the 'fileencoding' option? + 37.7. What is the 'fileencodings' option? + 37.8. What is the 'termencoding' option? + 37.9. What is the 'bomb' option? + 37.10. Where can I find an example of a typical use of all these + options? + 37.11. How can I insert Unicode characters into a file using Vim? + 37.12. How can I know which digraphs are defined and for which + characters? + + +============================================================================= + +SECTION 1 - GENERAL INFORMATION + + +1.1. What is Vim? + +Vim stands for Vi IMproved. It used to be Vi IMitation, but there are so +many improvements that a name change was appropriate. Vim is a text editor +which includes almost all the commands from the Unix program "Vi" and a lot +of new ones. All commands can be given with the keyboard. This has the +advantage that you can keep your fingers on the keyboard and your eyes on +the screen. For those who want it, there is mouse support and a GUI version +with scrollbars and menus. + +Vim is an editor, not a word processor. A word processor is used mainly to +do layout of text. This means positioning it, changing the way it appears +on output. More often than not, the final document is meant to be printed +or typeset or what have you, in order to present it in a pleasing manner to +others. Examples of word processors are Microsoft Word, WordPerfect, +FrameMaker, and AmiPro. + +An editor is simply for entering text. Any typesetting or laying out of the +document is secondary. With an editor, one's main concern is entering text, +not making the text look good. Examples of editors other than Vim and Vi +are Emacs, Crisp, Brief, and xedit. And Notepad. + +For more information, read + + :help intro + + +1.2. Who wrote Vim? + +Most of Vim was written by Bram Moolenar, with contributions from too many +people to mention here. See ":h credits" for a complete list. + +Vim is based on Stevie, worked on by Tim Thompson, Tony Andrews and G.R. +(Fred) Walter. + +For more information, read + + :help author + + +1.3. Is Vim compatible with Vi? + +Yes. Vim is very much compatible with Vi. You can use the "-C" +command-line flag to start Vim in Vi compatible mode: + + $ vim -C + +You can also use: + + $ vim -u NONE + +You can also set the 'compatible' option to enable Vi compatibility: + + :set compatible + +For more information, read + + :help -C + :help 'compatible' + :help compatible-default + + +1.4. What are some of the improvements of Vim over Vi? + +A short summary of the improvements of Vim over vi is listed below. The +list shows that Vim is a thoroughly modern and feature-packed editor. +Standard features of modern editors are implemented, and there is an equal +emphasis on general power-user features and features for programmers. + +Features to modernise Vi: + + Multi-level undo + Allows you to set the number of times you can undo your changes in a + file buffer. You can also redo an undone change. + Multiple windows and buffers + Each file can be displayed in its own window. You can move easily from + one window to another. Each file opened during a Vim session also has + an associated buffer and you can easily jump from one to the other. + Flexible insert mode + Vim allows you to use the arrow keys while in insert mode to move + around in the file. No more hitting , moving around, then hitting + `i' or `a'. + Macros + Vim has a facility which allows you to record a sequence of typed + characters and repeat them any number of times. + Visual mode + You can highlight sections of text and execute operations on this + section of text only. + Block operators + Allow selection and highlighting of rectangular blocks of text in + order do execute specific operations on them. + Online help system + You can easily find help on any aspect of using Vim. Help is displayed + in its own window. + Command-line editing and history + History allows you to use the arrow keys to repeat or search for a + command that has already been typed. Allows you to match the beginning + of a command with the beginning of another similar command in the + history buffer. You can also edit a command to correct typos or change + a few values. + Command line completion. + Using the key, you can complete commands, options, filenames, + etc. as needed. + Horizontal scrolling. + Long lines can be scrolled horizontally (with or without the GUI). + +Advanced user features: + + Text formatting. + With two keystrokes, you can format large sections of text, without + the use of external programs. + Word completion in Insert mode + Vim can complete words while you are typing, by matching the current + word with other similar words in the file. + Jump tags + Just like in an internet browser, you can jump back to previous parts + of the text you were editing, and then forward again. Your brain is + thus free to edit instead of navigate. + Automatic commands + Commands automatically executed when reading or writing a file, + jumping to another buffer, etc. + Viminfo + Allows storing of the command line history, marks and registers in a + file to be read on startup. Therefore, you can recall old search + patterns, macros, etc., in a new Vim session. + Mouse support + The mouse is supported in an xterm and for MS-DOS. It can be used to + position the cursor, select the visual area, paste a register, etc. + Graphical User Interface (GUI) + Just like any modern editor. Also, it's very easy to add your own + menus. Of course, console vim is still supported, and very widely + used. + Scripting language + Vim has a powerful scripting language so new commands can be created. + You can also use Perl, Python, TCL and Ruby to achieve the same thing! + Plugins + Extra functionality implemented via vim commands (regular commands or + the scripting language) that is automatically loaded on startup. + Examples: file explorer, network editing. More are being developed + and shared on VimOnline all the time. + Syntax highlighting for many programming languages + Syntax highlighting for hundreds of programming languages is + supported. Support for others can be added. + Extended regular expressions + Vim supports extended regular expressions which are similar in + functionality to that of perl regular expressions. + +Programming performance features: + + Edit-compile-edit speedup + You can compile within Vim and automatically jump to the location of + errors in the source code. + Indenting for many programming languages + C, C++, Java, Perl, XML and many other languages can be automatically + indented by vim while you type. Support for others can be added. + Searching for words in include files + Vim allows you to search for a match of the word under the cursor in + the current and included files. + Advance text objects + Instantly select, or delete, or copy, or indent, or format, or change + case, or ... to all the text between ( and ), or { and }, or < and >, + or [ and ]. Or a word, sentence, or paragraph. Very powerful. + Folding + Certain parts of the text can be "folded" away. The best example is + the body of a function. You can get an overview of the code, and then + open the fold of the function whose detail you need to see. + ctags and cscope integration + Using these two powerful programs, you can jump to a definition of a + function from a calling instance of it, and use other tricks to + navigate source code. + +For more information, read + + :help vi-differences + + +1.5. Is Vim free? + +Vim is Charityware. There are no restrictions on using or copying Vim, but +the author encourages you to make a donation to charity. A document +explaining how to do so is included in the distribution. + +For more information, read + + :help copyright + + +============================================================================= + +SECTION 2 - RESOURCES + + +2.1. Where can I learn more about Vim? + +You can post your Vim questions to the vim@vim.org mailing list. You can +post your Vim development related questions to the vim-dev@vim.org mailing +list. Vim does not have a newsgroup of its own. But the appropriate +newsgroup to post to is comp.editors. + +"VimOnline" is a web page that serves as a de facto homepage for vim, +although the main purpose of it is to gather tips and scripts from +everywhere. Get involved! The URL is vim.sourceforge.net or vim.sf.net. + +Finally, read the Vi FAQ: + + http://www.faqs.org/faqs/editor-faq/vi/part1/index.html + +For more information, read + + :help mail-list + :help internet + + +2.2. Is there a mailing list available? + +There are several: + + NAME DESCRIPTION + + vim-announce Announcements of new releases + vim General discussion + vim-dev Patches, bug reports, development discussions + vim-mac Macintosh discussion + vim-fr General discussion in French + vim-multibyte Multibyte development issues + vim-vms Development on VMS + +Of these, only vim and vim-dev are of general interest. vim-announce is +read-only to most people, and its messages are sent to the other lists as +well. The remaining four are very low volume. + +To subscribe: send an email to -subscribe@vim.org +To unsubscribe: send an email to -unsubscribe@vim.org +To get help: send an email to -help@vim.org + + +2.3. Is there an archive available for the Vim mailing lists? + +Yes. Visit http://www.yahoogroups.com/list/, where name is one of: +vimannounce, vim, vimdev, vim-fr, vim-mac, vim-multibyte, vim-vms. + +Alternatively, visit www.gmane.org to find out about GMANE, which allows +you to access the mailing lists as though they were newsgroups. This +offers some convenience to those who wish to browse the history or casually +observe the current threads. + + +2.4. Where can I get the Vim user manual in HTML/PDF/PS format? + +You can download the HTML/PDF/PS format of the Vim user manual from: + + http://vimdoc.sourceforge.net/ + + +2.5. I have a "xyz" (some) problem with Vim. How do I determine it is a + problem with my setup or with Vim? + +First, you have to determine that the problem is not with your .vimrc or +.gvimrc or system vimrc or your personal plugin files or in any of your +setup files. To do this, use + + $ vim -N -u NONE -U NONE + +This will start Vim in 'nocompatible" mode and will not source your +personal .vimrc and .gvimrc files. It will also not load your personal +plugins. In this invocation of Vim, try to reproduce your problem. If you +are not able to reproduce the problem, then the problem is related to some +setting in one of your local setup files or plugins. To locate the problem +in your setup files, you have to use trial and error and try commenting out +the lines in your setup files one by one. You can also use the -V command +line argument to Vim to get more debug information and analyze the problem: + + $ vim -V2 + +You can increase the value passed to the -V argument to get more debug +information. + +For more information, read + + :help -u + :help -U + :help -N + :help -V + :help 'verbose' + :help :verbose + :help set-verbose + + +2.6. Where can I report bugs? + +First collect the required information using the following command: + + :source $VIMRUNTIME/bugreport.vim + +Now send the resulting text from the above command to the bugs@vim.org +e-mail address. + +The Vim Development mailing list (see above) is a good place to discuss +general bugs. If the bug you find is with syntax highlighting or some +other "added feature" (i.e. not directly programmed into vim), attempt to +inform the maintainer of that feature. + +For more information, read + + :help bug-reports + + +2.7. Where can the FAQ be found? + +The FAQ can be found at VimOnline (vim.sf.net). Other places will be +decided in the future. + + +2.8. What if I don't find an answer in this FAQ? + +This FAQ covers mainly Vim-specific questions. You may find more +information suitable for most Vi clones by reading the Vi FAQ. It is posted +regularly on comp.editors. You can also find a copy at + + http://www.faqs.org/faqs/editor-faq/vi/part1/index.html + +Also, since Vim has gathered so many features in the last few years, +successfully documenting the frequently asked questions here is a +near-impossible task. To make it possible, please email the maintainer if +you have a good question. A good question is one that you've tried to +answer yourself (remember, Vim has great documentation) but struggled. + + +2.9. I have a patch for implementing a Vim feature. Where can I send this + patch? + +You can send your patches to the Vim developer mailing list +vim-dev@vim.org. + +For more information, read + + :help vim-dev + + +2.10. I have a Vim tip or developed a new Vim + syntax/indent/filetype/compiler plugin or developed a new script or a + colorscheme. Is there a public website where I can upload this? + +Yes. You can use the Vim Online website to upload your plugins/scripts, +colorschemes, tips, etc. The site is at http://vim.sourceforge.net + + +============================================================================= + +SECTION 3 - AVAILABILITY + + +3.1. What is the latest version of Vim? + +The latest version of Vim is 6.3 released on 8th June 2004. + +The release-history of different versions of Vim is below: + +Version 6.3 8th June 2004 +Version 6.2 1st June 2003 +Version 6.1 24th March 2002 +Version 6.0 27th September, 2001 +Version 5.8 31st May, 2001 +Version 5.7 24th June, 2000 +Version 5.6 16th January, 2000 +Version 5.5 21st September, 1999 +Version 5.4 26th July, 1999 +Version 5.3 31st August, 1998 +Version 5.2 24th August, 1998 +Version 5.1 7th April, 1998 +Version 5.0 19th February, 1998 +Version 4.6 13th March,1997 +Version 4.5 17th October, 1996 +Version 4.2 5th July,1996 +Version 4.0 21st May, 1996 +Version 3.0 16th August, 1994 +Version 2.0 21st December, 1993 +Version 1.27 23rd April, 1993 +Version 1.17 21st April, 1992 + + +3.2. Where can I find the latest version of Vim? + +You can download the sources for the latest version of Vim from the +VimOnline website. The URL for this site is +http://vim.sourceforge.net/download.php. + + +3.3. What platforms does it run on? + +All Unix platforms. +All Windows platforms. +Amiga, Atari, BeOS, DOS, Macintosh, MachTen, OS/2, RiscOS, VMS. + + +3.4. Where can I download the latest version of the Vim runtime files? + +You can download the latest version of the Vim runtime files (syntax files, +filetype plugins, compiler files, color schemes, documentation, indentation +files and keymaps) from the Vim ftp site from the +ftp://ftp.vim.org/pub/vim/runtime directory. + + +============================================================================= + +SECTION 4 - HELP + + +4.1. How do I use the help files? + +Help can be found for all functions of Vim. In order to use it, use the +":help" command. This will bring you to the main help page. On that first +page, you will find explanations on how to move around. Basically, you move +around in the help pages the same way you would in a read-only document. +You can jump to specific subjects by using tags. This can be done in two +ways: + + * Use the "" command while standing on the name of a command or + option. This only works when the tag is a keyword. "" + and "g" work just like "". + * use the ":tag " command. This works with all characters. + +Use "" to jump back to previous positions in the help files. Use +":q" to close the help window. + +If you want to jump to a specific subject on the help pages, use ":help +{subject}". If you don't know what to look for, try ":help index" to get a +list of all available subjects. Use the standard search keys to locate the +information you want. You can abbreviate the ":help" command as ":h". + +For more information, read + + :help online-help + + +4.2. How do I search for a keyword in the Vim help files? + +You can press the CTRL-D key after typing the help keyword to get a list of +all the help keywords containing the supplied pattern. You can also use the +meta characters like *, \+, etc to specify the help search pattern: + + :help init + :help str*() + :help '*indent + +You can press the Tab key after typing a partial help keyword to expand to +the matching keyword. You can continue to press the Tab key to see other +keyword matches. + +From the help window, you can use the ":tag" command to search for +keywords. For example, + + :tselect /window + +This command will list all the help keywords containing the text "window". +You can select one from the list and jump to it. + +You can use the ":helpgrep" command to search for the given text in all the +help files. The quickfix window will be opened with all the matching lines. + +For more information, read + + :help c_CTRL-D + :help c_ + :help :tselect + :help :help + :help :helpgrep + + +4.3. I am getting an error message E123, what did I do wrong? + +You can get more information about the error and the error message using: + + :help E123 + +For more information, read + + :help error-messages + + +4.4. Where can I read about the various modes in Vim? + +You can get information about the different modes in Vim by reading + + :help vim-modes + + +4.5. How do I generate the Vim help tags file after adding a new Vim help + file? + +You can use the ":helptags" command to regenerate the Vim help tag file. +For example: + + :cd $VIMRUNTIME/doc + :helptags . + +For more information, read + + :help :helptags + :help add-local-help + + +4.6. Can I use compressed versions of the help files? + +Yes. You can compress the help files and still be able to view them with +Vim. This makes accessing the help files a bit slower and requires the +"gzip" utility. Follow these steps to compress and use the Vim help files: + +- Compress all the help files using "gzip doc/*.txt". + +- Edit the "doc/tags" file and change the ".txt" to ".txt.gz" using + :%s=\(\t.*\.txt\)\t=\1.gz\t= + +- Add the following line to your vimrc: + set helpfile={dirname}/help.txt.gz + +Where {dirname} is the directory where the help files are. The gzip.vim +plugin supplied with the standard Vim distribution will take care of +decompressing the files. You must make sure that $VIMRUNTIME is set to +where the other Vim files are, when they are not in the same location as +the compressed "doc" directory. + +For more information, read + + :help gzip-helpfile + :help 'helpfile' + :help gzip + :help $VIMRUNTIME + + +============================================================================= + +SECTION 5 - EDITING A FILE + + +5.1. How do I load a file in Vim for editing? + +There are several ways to load a file for editing. The simplest is to +use the ":e" (:edit) command: + + :e + +You can also use the ":n" (:next) command to load files into Vim: + + :n + +You can also use the ":args" command to load files into Vim: + + :args + +For more information, read + + :help usr_07 + :help edit-files + :help :edit + :help :next_f + :help :args_f + + +5.2. How do I save the current file in another name (save as) and edit a + new file? + +You can use the ":saveas" command to save the current file in another name: + + :saveas + +Alternatively, you can also use the following commands: + + :w + :edit # + +You can also use the ":file" command, followed by ":w" command: + + :file + :w + +For more information, read + + :help 07.7 + :help :saveas + :help :file_f + :help :w + + +5.3. How do I change the current directory to the directory of the current + file? + +You can use the following command to change the current directory to the +directory of the current file: + + :cd %:p:h + +To automatically change the current directory to the directory of the +current file, use the following autocmd: + + :autocmd BufEnter * cd %:p:h + +For more information, read + + :help :cd + :help :lcd + :help filename-modifiers + :help autocommand + + +5.4. How do I write a file without the line feed (EOL) at the end of the + file? + +You can turn off the 'eol' option and turn on the 'binary' option to write +a file without the EOL at the end of the file: + + :set binary + :set noeol + :w + +For more information, read + + :help 'endofline' + :help 'binary' + :help 23.4 + + +5.5. How do I configure Vim to open a file at the last edited location? + +Vim stores the cursor position of the last edited location for each buffer +in the '"' register. You can use the following autocmd in your .vimrc or +.gvimrc file to open a file at the last edited location: + + au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | + \ exe "normal g'\"" | endif + +For more information, read + + :help '" + :help last-position-jump + + +5.6. When editing a file in Vim, which is being changed by an external + application, Vim opens a warning window (like the confirm dialog) each + time a change is detected. How do I disable this warning? + +You can set the Vim 'autoread' option to automatically read the file again +when it is changed outside of Vim: + + :set autoread + +You can also use the following autocommand: + + autocmd FileChangedShell * + \ echohl WarningMsg | + \ echo "File has been changed outside of vim." | + \ echohl None + +For more information, read + + :help 'autoread' + :help FileChangedShell + :help timestamp + :help :checktime + + +5.7. How do I edit a file whose name is under the cursor? + +You can use the gf command to edit a file whose name is under the cursor. +You can use the CTRL-W f command to edit the file in a new window. + +For more information, read + + :help gf + :help CTRL-W_f + :help 'isfname' + :help 'path' + :help 'suffixesadd' + :help 'includeexpr' + + +5.8. How do I reload/re-edit the current file? + +You can use the ":edit" command, without specifying a file name, to reload +the current file. If you have made modifications to the file, you can use +":edit!" to force the reload of the current file (you will lose your +modifications). + +For more information, read + + :help :edit + :help :edit! + :help 'confirm' + + +5.9. How do I autosave a file periodically? + +Vim doesn't support auto-saving a file periodically. + +For more information, read + + :help 'updatetime' + :help CursorHold + :help swap-file + + +5.10. How do I open a file in read-only mode? + +You can open a file in read-only mode using the ":view" command: + + :view + +This command sets the 'readonly' option for the opened buffer. You can also +use the "-R" command-line option to open a file in read-only mode: + + $ vim -R + +You can also use the symbolic link executable "view" to open a file in +read-only mode from the command-line: + + $ view + +For more information, read + + :help 07.6 + :help 'readonly' + :help 'modifiable' + :help :view + :help :sview + :help view + :help -R + :help -M + + +5.11. How do I open a file for editing without saving the modifications to + the current file? + +You can open a file for editing without saving the modifications to the +current file and without losing the changes using one of the following +methods: + + :split + :new + +You can also set the 'hidden' option and edit a new file: + + :set hidden + : e + +If you want to discard the changes made to the current file and load +another file for editing, then you can use the following command: + + :e! + +For more information, read + + :help :edit!_f + :help 'hidden' + :help :split + :help :new + + +============================================================================= + +SECTION 6 - EDITING MULTIPLE FILES + + +6.1. How do I open multiple files at once from within Vim? + +There are several ways to open multiple files at once from within Vim. You +can use the ":next" command to specify a group of files: + + :next f1.txt f2.txt + :next *.c + +You can use the :args command to specify a group of files as arguments: + + :args f1.txt f2.txt + :args *.c + +After loading the files, you can use the ":next" and ":prev" command to +switch between the files. + +For more information, read + + :help 07.2 + :help :next + :help :args_f + :help argument-list + + +6.2. How do I switch between multiple files/buffers in Vim? + +There are several ways to switch between multiple files. You can use the +":buffer" command to switch between multiple files. For example, + + :buffer file1 + :buffer file2 + +You can also use the CTRL-^ key to switch between buffers. By specifying a +count before pressing the key, you can edit the buffer with that number. +Without the count, you can edit the alternate buffer by pressing CTRL-^ + +You can also use the ":e #" command to edit a particular buffer: + + :e #5 + +For more information, read + + :help edit-files + :help :buffer + :help CTRL-^ + :help alternate-file + :help 22.4 + :help 07.3 + + +6.3. How do I open several files in Vim, with each file in a separate + window? + +You can use the -o and -O Vim command line arguments to open multiple files +in separate horizontally or vertically split Vim windows. For example: + + $ vim -o3 f1.txt f2.txt f3.txt + +The above command will open the files f1.txt, f2.txt and f3.txt in three +separate horizontally split Vim windows. + + $ vim -O3 f1.txt f2.txt f3.txt + +The above command will open the files f1.txt, f2.txt and f3.txt in three +separate vertically split Vim windows. + +For more information, read + + :help -o + :help -O + :help startup-options + + +6.4. How do I configure Vim to autoload several files at once similar to + "work-sets" or "projects"? + +You can use the ":mksession" and the ":mkview" commands to autoload several +files in Vim. + +The ":mksession" command creates a Vim script that restores the current +editing session. You can use the ":source" command to source the file +produced by the mksession command. + +The ":mkview" command creates a Vim script that restores the contents of +the current window. You can use the ":loadview" command to load the view +for the current file. + +For more information, read + + :help 21.4 + :help 21.5 + :help views-sessions + :help 'sessionoptions' + :help :mksession + :help :source + :help v:this_session + :help :mkview + :help :loadview + :help 'viewdir' + :help buffers + + +6.5. Is it possible to open multiple top level windows in a single instance + of Vim similar to Nedit or emacs? + +No. It is currently not possible to open multiple top-level windows in a +single instance of Vim. This feature is in the todo list. + + +6.6. How do I browse/explore directories from within Vim? + +You can use the explorer.vim plugin, supplied with the standard Vim +installation, to browse/explore directories from within Vim. You can start +the file explorer using one of the following commands: + + :e + :Explore + :SExplore + +From the file explorer, you can browse through directories, rename, delete +and edit files. + +For more information, read + + :help file-explorer + :help 22.1 + + +6.7. How do I edit files over a network using ftp/scp/rcp/http? + +You can use the netrw.vim plugin, supplied with the standard Vim package, +to edit files over a network using ftp/scp/rcp/http. Using this plugin, Vim +will transparently load and save the files over ftp/scp/rcp/http. For +example, to edit a file over ftp, you can use the following command: + + $ vim ftp://machine/path + +For more information, read + + :help netrw.vim + + +============================================================================= + +SECTION 7 - BACKUP + + +7.1. When I edit and save files, Vim creates a file with the same name as + the original file and a "~" character at the end. How do I stop Vim + from creating this file? (or) How do I disable the Vim backup file + feature? + +You have set the 'backup' option, so Vim creates a backup file when saving +the original file. You can stop Vim from creating the backup file, by +clearing the option: + + :set nobackup + +Note that, by default this option is turned off. You have explicitly +enabled the 'backup' option in one of the initialization files. You may +also have to turn off the 'writebackup' option: + + :set nowritebackup + +For more information, read + + :help 07.4 + :help backup-table + :help 'backup' + :help 'writebackup' + :help 'backupskip' + :help 'backupdir' + :help 'backupext' + :help 'backupcopy' + :help backup + + +7.2. How do I configure Vim to store all the backup files in a particular + directory? + +You can configure Vim to store all the backup files in a particular +directory using the 'backupdir' option. For example, to store all the +backup files in the ~/backup directory, you can use the following command: + + :set backupdir=~/backup + +For more information, read + + :help 07.4 + :help 'backupdir' + :help backup + + +7.3. When I save a file with Vim, the file permissions are changed. + How do I configure Vim to save a file without changing the file + permissions? + +This may happen, if the 'backupcopy' option is set to 'no' or 'auto'. Note +that the default value for this option is set in such a way that this will +correctly work in most of the cases. If the default doesn't work for you, +try setting the 'backupcopy' option to 'yes' to keep the file permission +when saving a file: + + :set backupcopy=yes + +This applies, only if you have configured Vim to make a backup whenever +overwriting a file. By default, Vim will not backup files. + +For more information, read + + :help 'backupcopy' + :help backup + :help 'backup' + :help 'writebackup' + + +============================================================================= + +SECTION 8 - BUFFERS + + +8.1. I have made some modifications to a buffer. How do I edit another + buffer without saving the modified buffer and also without losing the + modifications? + +You can set the 'hidden' option to edit a file without losing modifications +to the current file: + + :set hidden + +By setting the 'hidden' option, you can also save the modification history +(undo-history) for the buffer. Otherwise, as you switch between files, the +undo-history will be lost. + +For more information, read + + :help 'hidden' + :help hidden-quit + :help :hide + + +8.2. How do I configure Vim to auto-save a modified buffer when switching + to another buffer? + +You can set the 'autowrite' option to auto-save a modified buffer when +switching to another buffer: + + :set autowrite + +For more information, read + + :help 'autowrite' + :help 'autowriteall' + :help 'hidden' + + +8.3. How do I replace the buffer in the current window with a blank buffer? + +You can use the ":enew" command to load an empty buffer in place of the +buffer in the current window. + +For more information, read + + :help :enew + + +8.4. Is there a keyboard shortcut to load a buffer by the buffer number? + +You can use the CTRL-^ command to load a buffer by specifying the buffer +number. For example, to load buffer number 5, you have to use the 5 CTRL-^ +command. + +For more information, read + + :help CTRL-^ + + +8.5. How do I open all the current buffers in separate windows? + +You can use the ":ball" or ":sball" commands to open all the buffers +in the buffer list: + + :ball + +For more information, read + + :help :ball + + +8.6. How do I close (delete) a buffer without exiting Vim? + +You can use the ":bdelete" command to delete a buffer without exiting Vim. +For example: + + :bdelete file1 + +For more information, read + + :help :bdelete + :help :bwipeout + + +8.7. I have several buffers opened with :e filename. How do I close one of + the buffers without exiting Vim? + +You can use the ":bdelete " command to close the buffer. + +For more information, read + + :help :bdelete + :help :bunload + :help :bwipeout + + +8.8. When I use the command ":%bd" to delete all the buffers, not all the + buffers are deleted. Why? + +In the ":%bd" command, the '%' range will be replaced with the starting and +ending line numbers in the current buffer. Instead of using '%' as the +range, you should specify numbers for the range. For example, to delete all +the buffers, you can use the command ":1,9999bd". + +For more information, read + + :help :bd + + +8.9. How do I display the buffer number of the current buffer/file? + +You can use 2 command to display the buffer number for the current +file/buffer. Note the use of count before the CTRL-G command. If the count +is greater than 1, then Vim will display the buffer number. + +You can also use the following command to display the current buffer +number: + + :echo bufnr("%") + +You can also include the "%n" field to the 'statusline' option to display +the current buffer number on the statusline. + +For more information read, + + :help CTRL-G + :help bufnr() + :help :echo + :help 'statusline' + + +8.10. How do I delete a buffer without closing the window in which the + buffer is displayed? + +You can use the following command to open the next buffer and delete +the current buffer. + + :bnext | bdelete # + +For more information read, + + :help :bnext + :help :bdelete + :help :buffers + + +8.11. How do I map the tab key to cycle through and open all the buffers? + +You can use the following two map commands, to map the CTRL-Tab key to open +the next buffer and the CTRL-SHIFT-Tab key to open the previous buffer: + + :nnoremap :bnext + :nnoremap :bprevious + +For more information read, + + :help :bnext + :help :previous + + +============================================================================= + +SECTION 9 - WINDOWS + + +9.1. What is the difference between a Vim window and a buffer? + +A Vim buffer is a file loaded into memory for editing. The original file +remains unchanged until you write the buffer to the file. A Vim window is a +viewport onto a buffer. You can use multiple windows on one buffer or +several windows on different buffers. + +For more information, read + + :help usr_08.txt + :help 22.4 + :help windows-intro + :help Q_wi + + +9.2. How do I increase the width of a Vim window? + +You can increase the width of a Vim window using one of the following +commands: + + :vert resize +N + :vert resize -N + :vert resize N + +You can also use CTRL-W < or CTRL-W > or CTRL-W | commands. + +For more information, read + + :help vertical-resize + :help CTRL-W_> + :help CTRL-W_< + :help window-resize + + +9.3. How do I zoom into or out of a window? + +You can zoom into a window (close all the windows except the current +window) using the "CTRL-W o" command or the ":only" ex command. + +You can use the "CTRL-W _" command or the ":resize" ex command to increase +the current window height to the highest possible without closing other +windows. + +You can use the "CTRL-W |" command or the ":vertical resize" ex command to +increase the current window width to the highest possible without closing +other windows. + +You can use the "CTRL-W =" command to make the height and width of all the +windows equal. + +You can also set the following options to get better results with the above +commands: + +Method 1: +Set the 'winminheight' option to 0: + + :set winminheight=0 + +By default, this option is set to 1. +This option controls the minimum height of an inactive window (when it is +not the current window). When the 'winminheight' option is set to 0, only +the status line will be displayed for inactive windows. + +Method 2: +Set the 'noequalalways' option and set the 'winheight' option to a large +value (like 99999): + + :set noequalalways + :set winheight=99999 + +Now, the active window will always open to its maximum size, while the +other windows will stay present, but shrunken to just a status line. + +With any of the above mentioned methods, you cannot restore the window +layout after zooming into a window. If you want to restore the Vim window +layout after zooming into a window, you can use the ZoomWin plugin. You can +download this plugin from the Vim online website at: + +http://vim.sourceforge.net/scripts/script.php?script_id=508 + +For more information, read + + :help CTRL-W_o + :help window-resize + :help 'winminheight' + :help 'equalalways' + :help 'winheight' + :help 08.3 + + +9.4. How do I execute an ex command on all the open buffers or open windows + or all the files in the argument list? + +You can use the ":bufdo" command to execute an ex command on all the open +buffers. You can use the ":windo" command to execute an ex command on all +the open windows. You can use the ":argdo" command to execute an ex +command on all the files specified in the argument list. + +For more information, read + + :help :windo + :help :bufdo + :help :argdo + :help 26.3 + + +============================================================================= + +SECTION 10 - MOTION + + +10.1. How do I jump to the beginning (first line) or end (last line) of a + file? + +You can use 'G' command to jump to the last line in the file and the 'gg' +command to jump to the first line in the file. + +For more information, read + + :help G + :help gg + + +10.2. In insert mode, when I press the key to go to command mode, the + cursor moves one character to the left (except when the cursor is on + the first character of the line). Is it possible to change this + behavior to keep the cursor at the same column? + +No. It is not possible to change this behavior. The cursor is *always* +positioned on a valid character (unless you have virtual-edit mode +enabled). So, if you are appending text to the end of a line, when you +return to command mode the cursor *must* drop back onto the last character +you typed. For consistency sake, the cursor drops back everywhere, even if +you are in the middle of a line. + +You can use the CTRL-O command in insert mode to execute a single ex +command and return back to insert mode without moving the cursor column. + +For more information, read + + :help 'virtual' + :help i_CTRL-O + + +10.3. How do I configure Vim to maintain the horizontal cursor position when + scrolling with the , , etc keys? + +You can reset the 'startofline' option to keep the cursor at the same +horizontal location when scrolling text: + + :set nostartofline + +For more information, read + + :help 'startofline' + + +10.4. Some lines in a file are more than the screen width and they are all + wrapped. When I use the j, k keys to move from one line to the next, + the cursor is moved to the next line in the file instead of the next + line on the screen. How do I move from one screen line to the next? + +You can use the gj and gk commands to move from one screen line to the +next/previous screen line. The j and k commands move the cursor from one +file line to the next file line. You can also avoid the line wrapping by +resetting the 'wrap' option: + + :set nowrap + +For more information, read + + :help gj + :help gk + :help 'wrap' + +You can use the following mappings: + + :map gk + :imap gk + :map gj + :imap gj + + +10.5. What is the definition of a sentence, paragraph and section in Vim? + +A sentence is defined as ending at a '.', '!' or '?' followed by either the +end of a line, or by a space (or two) or tab. Which characters and the +number of spaces needed to constitute a sentence ending is determined by +the 'joinspaces' and 'cpoptions' options. + +A paragraph begins after each empty line, and also at each of a set of +paragraph macros, specified by the pairs of characters in the 'paragraphs' +option. + +A section begins after a form-feed () in the first column and at each +of a set of section macros, specified by the pairs of characters in the +'sections' option. + +For more information, read + + :help sentence + :help 'joinspaces' + :help 'cpoptions' | /^\s*j\> + :help paragraph + :help section + :help word + + +10.6. How do I jump to beginning or end of a sentence, paragraph or a + section? + +You can use the following motion commands to jump to the beginning or end +of a sentence or a paragraph or a section: + + motion position where + ( beginning current sentence + ) end current sentence + { beginning current paragraph + } end current paragraph + [] end previous section + [[ beginning current section + ][ end current section + ]] beginning next section + +Each of these motions can be preceded by a number which will extend the +jump forward (or backward). + +For more information, read + + :help object-motions + + +10.7. I have lines in a file that extends beyond the right extent of the + screen. How do I move the Vim view to the right to see the text off + the screen? + +You can use one of the following commands to horizontally scroll the screen +to the left or right: + + zl - scroll to the left + zh - scroll to the right + zL - scroll half a screenwidth to the left + zH - scroll half a screenwidth to the right + zs - scroll to position the cursor at the start of the screen + ze - scroll to position the cursor at the end of the screen + +You can use the g0 command to move the cursor to the first character of the +screen line and the g$ command to move the cursor to the last character of +the screen line without scrolling the screen. + +For more information, read + + :help scroll-horizontal + + +10.8. How do I scroll two or more buffers simultaneously? + +You can set the "scrollbind" option for each of the buffer to scroll them +simultaneously. + +For more information, read + + :help 'scrollbind' + :help scroll-binding + :help 'scrollopt' + + +10.9. When I use my arrow keys, Vim changes modes, inserts weird characters + in my document but doesn't move the cursor properly. What's going on? + +There are a couple of things that could be going on: either you are using +Vim over a slow connection or Vim doesn't understand the key sequence that +your keyboard is generating. + +If you are working over a slow connection (such as a 2400 bps modem), you +can try to set the 'timeout' or 'ttimeout' option. These options, combined +with the 'timeoutlen' and 'ttimeoutlen' options, may fix the problem. + +The preceding procedure will not work correctly if your terminal sends key +codes that Vim does not understand. In this situation, your best option is +to map your key sequence to a matching cursor movement command and save +these mappings in a file. You can then ":source" the file whenever you work +from that terminal. + +For more information, read + + :help 'timeout' + :help 'ttimeout' + :help 'timeoutlen' + :help 'ttimeoutlen' + :help :map + :help vt100-cursor-keys + + +10.10. How do I configure Vim to move the cursor to the end of the previous + line, when the left arrow key is pressed and the cursor is currently + at the beginning of a line? + +You can add the '<' flag to the 'whichwrap' option to configure Vim to move +the cursor to the end of the previous line, when the left arrow key is +pressed and the cursor is currently at the beginning of a line: + + :set whichwrap+=< + +Similarly, to move the cursor the beginning of the next line, when the +right arrow key is pressed and the cursor is currently at the end of a +line, add the '>' flag to the 'whichwrap' option: + + :set whichwrap+=> + +The above will work only in normal and visual modes. To use this in insert +and replace modes, add the '[' and ']' flags respectively. + +For more information, read + + :help 'whichwrap' + :help 05.7 + + +10.11. How do I configure Vim to stay only in insert mode (modeless + editing)? + +You can set the 'insertmode' option to configure Vim to stay only in insert +mode: + + :set insertmode + +By setting this option, you can use Vim as a modeless editor. If you press +the key, Vim will not go to the normal mode. To execute a single +normal mode command, you can press CTRL-O followed by the normal mode +command. To execute more than one normal command, you can use CTRL-L +followed by the commands. To return to insert mode, press the key. To +disable this option, reset the 'insertmode' option: + + :set noinsertmode + +You can also start vim using the "evim" command or you can use "vim -y" to +use Vim as a modeless editor. + +You can also start Vim in insert mode using the ":startinsert" ex command. + +For more information, read + + :help 'insertmode' + :help :startinsert + :help :stopinsert + :help i_CTRL-O + :help i_CTRL-L + :help evim + :help evim-keys + + +10.12. How do I display some context lines when scrolling text? + +You can set the 'scrolloff' option to display a minimal number of screen +lines (context) above and below the cursor. + + :set scrolloff=10 + +For more information, read + + :help 'scrolloff' + :help 'sidescrolloff' + + +10.13. How do I go back to previous cursor locations? + +You can go back to the cursor location before the latest jump using the '' +or `` command. You can use the CTRL-O command to go back to older cursor +positions and the CTRL-I command to go to the newer cursor positions in the +jump list. + +For more information, read + + :help 03.10 + :help mark-motions + :help jump-motions + + +============================================================================= + +SECTION 11 - SEARCHING TEXT + + +11.1. After I searched for a text with a pattern, all the matched text + stays highlighted. How do I turn off the highlighting + temporarily/permanently? + +The 'hlsearch' option controls whether all the matches for the last +searched pattern are highlighted or not. By default, this option is not +enabled. If this option is set in a system-wide vimrc file, then you can +turn off the search highlighting by using the following command: + + :set nohlsearch + +To temporarily turn off the search highlighting, use + + :nohlsearch + +You can also clear the search highlighting, by searching for a pattern that +is not in the current file (for example, search for the pattern 'asdf'). + +For more information, read + + :help 'hlsearch' + :help :nohlsearch + + +11.2. How do I enter a carriage return character in a search pattern? + +You can either use '\r' or to enter a carriage return +character in a pattern. In Vim scripts, it is better to use '\r' for the +carriage return character. + +For more information, read + + :help sub-replace-special + + +11.3. How do I search for the character ^M? + +You can enter the ^M character in a search command by first pressing the +CTRL-V key and then pressing the CTRL-M key. + + /^V^M + +You can also use the "\r" character. In Vim scripts, "\r" is preferred. + +For more information, read + + :help c_CTRL-V + :help using_CTRL-V + :help /\r + + +11.4. How can I search/replace characters that display as '~R', '~S', etc.? + +You can use the 'ga' command to display the ASCII value/code for the +special character. For example, let us say the ASCII value is 142. Then you +can use the following command to search for the special character: + + /^V142 + +where, ^V is entered by pressing CTRL-V. + +For more information, read + + :help ga + :help using_CTRL_V + :help 24.8 + + +11.5. How do I highlight all the non-printable characters in a file? + +You can use the following commands and search pattern to highlight all the +non-printable characters in a file: + + :set hlsearch + /\(\p\|$\)\@!. + +For more information, read + + :help /\p + :help /bar + :help /$ + :help /\( + :help /\@! + :help 'hlsearch' + + +11.6. How do I search for whole words in a file? + +You can search for whole words in a file using the \< and \> atoms. For +example: + + /\ + +The \< atom matches the beginning of the word and the \> atom matches the +end of the word. + +For more information, read + + :help /\< + :help /\> + + +11.7. How do I search for the current word under the cursor? + +You can press the * key to search forward for the current word under the +cursor. To search backward, you can press the # key. Note that only whole +keywords will be searched using these commands. + +For more information, read + + :help star + :help # + :help g* + :help g# + :help 03.8 + :help search-commands + + +11.8. How do I search for a word without regard to the case (uppercase or + lowercase)? + +To always ignore case while searching for a pattern, set the 'ignorecase' +option: + + :set ignorecase + +To ignore case only when searching a particular pattern, use the special \c +directive: + + /\c + +For more information, read + + :help 'ignorecase' + :help /ignorecase + :help /\c + + +11.9. How do I search for words that occur twice consecutively? + +You can use one of the following search commands to locate words that occur +twice consecutively: + + /\(\<\w\+\)\_s\+\1\> + /\(\<\k\+\)\_s\+\1\> + +The main difference is the use of '\w' and '\k', where the latter is based +on the 'iskeyword' option which may include accented and other language +specific characters. + +For more information, read + + :help /\1 + :help /\( + :help /\) + :help /\< + :help /\> + :help /\w + :help /\k + :help /\+ + :help /\_x + :help 'iskeyword' + + +11.10. How do I count the number of times a particular word occurs in a + buffer? + +You can use the following set of commands to count the number of times a +particular word occurs in a buffer: + + :let cnt=0 + :g/\/let cnt=cnt+1 + :echo cnt + +This only counts the number of lines where the word occurs. You can also +use the following command: + + :%s/\/&/g + +To count the number of alphabetic words in a file, you can use + + :%s/\a\+/&/g + +To count the number of words made up of non-space characters, you can use + + :%s/\S\+/&/g + +For more information, read + + :help count-items + :help word-count + :help v_g_CTRL-G + :help 12.5 + + +11.11. How do I place the cursor at the end of the matched word when + searching for a pattern? + +You can use the 'e' offset to the search command to place the cursor at the +end of the matched word. For example + + /mypattern/e + +For more information about search offsets, read + + :help search-offset + :help / + + +11.12. How do I search for an empty line? + +You can search for an empty line using: + + /^$ + + or + + /^\s*$ + +For more information, read + + :help /^ + :help /$ + :help /\s + :help /* + :help search-commands + + +11.13. How do I search for a line containing only a single character? + +You can search for a line containing only a single character using: + + /^\s*\a\s*$ + +For more information, read + + :help /^ + :help /\a + :help /\s + :help /* + :help /$ + + +11.14. How do I search and replace a string in multiple files? + +You can use the 'argdo' or 'bufdo' or 'windo' commands to execute an ex +command on multiple files. For example: + + :argdo %s/foo/bar/g + +For more information, read + + :help :argdo + :help :bufdo + :help :windo + + +11.15. I am using the ":s" substitute command in a mapping. When a search + for a pattern fails, the map terminates. I would like the map to + continue processing the next command, even if the substitute command + fails. How do I do this? + +You can use the 'e' flag to the substitute command to continue processing +other commands in a map, when a pattern is not found. + +For more information, read + + :help :s_flags + + +11.16. How do I search for the n-th occurrence of a character in a line? + +To search for the n-th occurrence of a character in a line, you can prefix +the 'f' command with a number. For example, to search for the 5th +occurrence of the character @ in a line, you can use the command 5f@. This +assumes the cursor is at the beginning of the line - and that this first +character is not the one your are looking for. + +For more information, read + + :help f + :help F + :help t + :help T + :help ; + :help , + + +11.17. How do I replace a tab (or any other character) with a hard return + (newline) character? + +You can replace a tab (or any other character) with a hard return (newline) +character using the following command: + + :s/\t/\r/ + +Note that in the above command, if you use \n instead of \r, then the tab +characters will not be replaced by a new-line character. + +For more information, read + + :help sub-replace-special + :help NL-used-for-Nul + :help CR-used-for-NL + + +11.18. How do I search for a character by its ASCII value? + +You can search for a character by its ASCII value by pressing CTRL-V +followed by the decimal or hexadecimal or octal value of that character in +the search "/" command. To determine the ASCII value of a character you +can use the ":ascii" or the "ga" command. + +For more information, read + + :help i_CTRL-V_digit + :help :ascii + :help ga + + +11.19. How do I search for long lines? + +You can search for long lines or lines containing more than a specific +number of characters using the Vim regular-expressions in the search +command. For example, to search for all the lines containing more than 80 +characters, you can use one of the following commands: + + /^.\{80}.*$ + /^.*\%80c.*$ + +For more information, read + + :help /\{ + :help /\%c + + +11.20. How do I display all the lines in the current buffer that contain a + specified pattern? + +You can use the following command to display all the lines in the current +buffer that contain a specified pattern: + + :g//p + +For example, the following command will display all the lines in the +current buffer that contain "vim": + + :g/vim/p + +If you also want the corresponding line numbers, then you can use the +following command: + + :g//# + +For more information, read + + :help :global + :help :print + :help :number + + +11.21. How do I search for a text string that spans multiple lines? + +You can search for a text string that spans multiple lines using the \_x +regular expression atom. For example, to search for the text string "Hello +World", you can use the following search command: + + /Hello\_sWorld + +This will match the word "Hello" followed by a newline character and then +the word "World" at the beginning of the next line. This will also match +the word "Hello" immediately followed by a space character and then the +word "World". When searching for the "Hello World" string, to include the +space characters at the end and beginning of the line, you can use the +following search command: + + /Hello\_s\+World + +For more information, read + + :help 27.8 + :help pattern-atoms + :help /\_ + :help pattern-searches + + +11.22. How do I search for a pattern within the specified range of lines + in a buffer? + +You can search for a pattern within a range of lines using the \%>l +and \%10l\%<20l + +For more information, read + + :help /\%l + + +============================================================================= + +SECTION 12 - CHANGING TEXT + + +12.1. How do I delete all the trailing white space characters (SPACE and + TAB) at the end of all the lines in a file? + +You can use the ":substitute" command on the entire file to search and +remove all the trailing white space characters: + + :%s/\s\+$// + +For more information, read + + :help :% + :help :s + :help /\s + :help /\+ + :help /$ + + +12.2. How do I replace all the occurrences of multiple consecutive space + characters to a single space? + +You can use the following command to replace all the occurrences of +multiple consecutive space characters to a single space: + + :%s/ \{2,}/ /g + +For more information, read + + :help :% + :help :s + :help /\{ + :help :s_flags + + +12.3. How do I reduce a range of empty lines into one line only? + +You can use the following command to reduce a range of empty lines into one +line only: + + :v/./.,/./-1join + +The explanation for this command is below: + + :v/./ Execute the following command for all lines not + containing a character (empty lines). + ., Use the current line as the start of the range of + lines. + /./ Use the line containing a character as the last line. + -1 Adjust the range of lines to end with the line before + the last line. + j Join the lines in the range. + +Note that this will give an error message if the empty lines are at the end +of the file. To correct this, you have to add a temporary line at the end +of the file, execute the command and then remove the temporary line. + +For more information, read + + :help :v + :help :join + :help cmdline-ranges + :help collapse + + +12.4. How do I delete all blank lines in a file? How do I remove all the + lines containing only space characters? + +To remove all blank lines, use the following command: + + :g/^$/d + +To remove all lines with only whitespace (spaces or tabs) in them, use the +following command: + + :g/^\s\+$/d + +To remove all the lines with only whitespace, if anything, use the +following command: + + :g/^\s*$/d + + +12.5. How do I copy/yank the current word? + +You can use the "yiw" (yank inner word without whitespace) command or the +"yaw" (yank a word with whitespace) command to copy/yank the current +word. + +For more information, read + + :help 04.6 + :help 04.8 + :help iw + :help yank + :help text-objects + :help objects + + +12.6. How do I yank text from one position to another position within a + line, without yanking the entire line? + +You can specify a motion command with the yank operator (y) to yank text +from one position to another position within a line. For example, to yank +from the current cursor position till the next letter x, use yfx or Fx or +tx or Tx. To yank till the nth column, use n|. To yank till the next +occurrence of a 'word', use /word. To do a yank till the nth column on +another line, first mark the position using the 'ma' command, go to the +start of the yank position, and then yank till the mark using y`a (note the +direction of the quote) + +For more information, read + + :help yank + :help motion.txt + :help 4.6 + + +12.7. When I yank some text into a register, how do I append the text to + the current contents of the register? + +When you specify the register for some operation, if you use the upper-case +for the register name, then the new text will be appended to the existing +contents. For example, if you have some text in the register "a". If you +want to append some new text to this, you have to use the "A" register +name. If you use the lowercase register name, then the contents of the +register will be overwritten with the new text. + +For more information, read + + :help quote + :help quote_alpha + :help 10.1 + + +12.8. How do I yank a complete sentence that spans over more than one line? + +To yank a complete sentence that spans over more than one line you have to +use the yank operator followed by a motion command. For example: + + y) + +From inside the sentence you can use 'yi)' to yank the sentence. + +For more information, read + + :help yank + :help {motion} + :help object-motions + :help 4.6 + + +12.9. How do I yank all the lines containing a pattern into a buffer? + +You can use the ":global" command to yank all the lines containing the +pattern into a register and then paste the contents of the register into +the buffer: + + :let @a='' + :g/mypattern/y A + +The first command, clears the contents of the register "a". The second +command copies all the lines containing "mypattern" into the register "a". +Note that the capital letter "A" is used to append the matched lines. Now +you can paste the contents of register "a" to a buffer using "ap command. +For more information, read + + :help :g + :help :y + :help let-register + :help quote_alpha + :help put + :help registers + :help :registers + + +12.10. How do I delete all the lines in a file that does not contain a + pattern? + +You can use ":v" command to delete all the lines that does not contain a +pattern: + + :v/pattern/d + +or + + :g!/pattern/d + +For more information, read + + :help :v + :help :g + + +12.11. How do I add a line before each line with "pattern" in it? + +You can use the following command to add a line before each line with +"pattern" in it: + + :g/pattern/normal Oi + +Alternatively you can yank the line using the Y command and then insert the +line using the following command: + + :g/pattern/put! + +For more information, read + + :help :g + :help :put + :help insert + :help 0 + + +12.12. Is there a way to operate on a line if the previous line contains a + particular pattern? + +You can use the ":global" command to operate on a line, if the previous +line contains a particular pattern: + + :g//+{cmd} + +For more information, read + + :help :g + :help :range + + +12.13. How do I execute a command on all the lines containing a pattern? + +You can use the ":global" (:g) command to execute a command on all the +lines containing a pattern. + + :g/my pattern/d + +If you want to use a non-Ex command, then you can use the ":normal" +command: + + :g/my pattern/normal {command} + +Unless you want the normal mode commands to be remapped, consider using a +":normal!" command instead (note the "!"). + +For more information, read + + :help :global + :help :v + :help :normal + + +12.14. Can I copy the character above the cursor to the current cursor + position? + +In Insert mode, you can copy the character above the cursor to the current +cursor position by typing . The same can be done with the +characters below the cursor by typing . + +For more information, read + + :help i_CTRL-Y + :help i_CTRL-E + + +12.15. How do I insert a blank line above/below the current line without + entering insert mode? + +You can use the ":put" ex command to insert blank lines. For example, try + + :put ='' + :put! ='' + +For more information, read + + :help :put + + +12.16. How do I insert the name of current file into the current buffer? + +There are several ways to insert the name of the current file into the +current buffer. In insert mode, you can use the % or the +=expand("%") command. In normal mode, you can use the ":put =@%" +command. + +For more information, read + + :help i_CTRL-R + :help expand() + :help !! + + +12.17. How do I insert the contents of a Vim register into the current + buffer? + +In insert mode, you can use the command to insert the +contents of . For example, use a to insert the contents +of register "a" into the current buffer. + +In normal mode, you can use the ":put " command to insert the +contents of . For example, use the ":put d" command to insert +the contents of register "d" into the current buffer. + +For more information, read + + :help i_CTRL-R + :help :put + + +12.18. How do I move the cursor past the end of line and insert some + characters at some columns after the end of the line? + +You can set the "virtualedit" option to move the cursor past the +end-of-line and insert characters in a column after the end-of-line. To +start the virtual mode, use + + :set virtualedit=all + +For more information, read + + :help 'virtualedit' + + +12.19. How to replace the word under the cursor (say: junk) with + "foojunkbar" in Vim? + +There are several ways to do this. If the word is the first such word on +the line, use the following command: + + :exe "s/".expand("")."/foo&bar/" + +Too match specifically you could use a more complex substitution like this: + + :exe 's/\<'.expand("").'\%>'.(col(".")-1).'c\>/foo&bar/' + +You can also use the command: ciwfoo"bar + +For more information, read + + :help :substitute + :help expand() + :help col() + :help /\%c + + +12.20. How do I replace a particular text in all the files in a directory? + +You can use the "argdo" command to execute the substitute command on all +the files specified as arguments: + + :args * + :argdo %s///ge | update + +For more information, read + + :help :args_f + :help :argdo + :help :s_flags + + +12.21. I have some numbers in a file. How do I increment or decrement the + numbers in the file? + +You can use the CTRL-A key to increment the number and the CTRL-X key to +decrement the number. You can also specify the number to +increment/decrement from the number by specifying a count to the key. This +works for decimal, octal and hexadecimal numbers. You can change the base +used by Vim for this operation by modifying the 'nrformats' option. + +For more information, read + + :help 26.2 + :help CTRL-A + :help CTRL-X + :help 'nrformats' + + +12.22. How do I reuse the last used search pattern in a ":substitute" + command? + +To reuse the last used search pattern in a ":substitute" command, don't +specify a new search pattern: + + :s/pattern/newtext/ + :s//sometext/ + +In the second ":s" command, as a search pattern is not specified, the +pattern specified in the first ":s" command 'pattern' will be used. + +If you want to change the search pattern but repeat the substitution +pattern you can use the special right hand side, you can use the tilde +character: + + :s/newpattern/~/ + +For more information, read + + :help :s + :help :& + :help :~ + :help & + :help sub-replace-special + + +12.23. How do I change the case of a string using the ":substitute" + command? + +You can use special characters in the replacement string for a +":substitute" command to change the case of the matched string. For +example, to change the case of the string "MyString" to all uppercase, you +can use the following command: + + :%s/MyString/\U&/g + +To change the case to lowercase, you can use the following command: + + :%s/MyString/\L&/g + +To change the case of the first character in all the words in the current +line to uppercase, you can use the following command: + + :s/\<\(.\)\(\k*\)\>/\u\1\L\2/g + +For more information, read + + :help sub-replace-special + :help :substitute + :help \U + :help \L + :help \u + + +12.24. How do I enter characters that are not present in the keyboard? + +You can use digraphs to enter characters that are not present in the +keyboard. You can use the ":digraphs" command to display all the currently +defined digraphs. You can add a new digraph to the list using the +":digraphs" command. + +For more information, read + + :help digraphs + :help 'digraphs' + :help 24.9 + + +12.25. Is there a command to remove any or all digraphs? + +No. The digraphs table is defined at compile time. You can only add new +ones. Adding a command to remove digraphs is on the todo list. + + +12.26. In insert mode, when I press the backspace key, it erases only the + characters entered in this instance of insert mode. How do I erase + previously entered characters in insert mode using the backspace + key? + +You can set the 'backspace' option to erase previously entered characters +in insert mode: + + :set backspace=indent,eol,start + +For more information, read + + :help 'backspace' + :help i_backspacing + + +12.27. I have a file which has lines longer than 72 characters terminated + with "+" and wrapped to the next line. How can I quickly join the + lines? + +You can use the ":global" command to search and join the lines: + + :g/+$/j + +This will, however, only join every second line. A couple of more complex +examples which will join all consecutive lines with a "+" at the end are: + + :g/*$/,/\(^\|[^+]\)$/j + :g/+$/mark a | .,/\(^\|[^+]\)$/s/+$// | 'a,.j + +For more information, read + + :help :g + :help :j + :help :mark + + +12.28. How do I paste characterwise yanked text into separate lines? + +You can use the ":put" command to paste characterwise yanked text into new +lines: + + :put =@" + +For more information, read + + :help :put + :help quote_= + + +12.29. How do I change the case (uppercase, lowercase) of a word or a + character or a block of text? + +You can use the "~" command to switch the case of a character. + +You can change the case of the word under the cursor to uppercase using the +"gUiw" or "viwU" command and to lowercase using the "guiw" or "viwu" +command. + +You can switch the case (upper case to lower case and vice versa) of the +word under the cursor using the "viw~" or "g~iw" command. + +You can use the "gUgU" command to change the current line to uppercase and +the "gugu" command to change the current line to lowercase. + +You can use the "g~g~" command to switch the case of the current line. You +can use the "g~{motion}" or "{Visual}~" commands to switch the case of a +block of text. + +For more information, read + + :help case + + +12.30. How do I enter ASCII characters that are not present in the + keyboard? + +You can enter ASCII characters that are not present in the keyboard by +pressing CTRL-V and then the ASCII character number. You can also use +digraphs to enter special ASCII characters. + +For more information, read + + :help i_CTRL-V_digit + :help digraphs + :help 45.5 + + +12.31. How do I replace non-printable characters in a file? + +To replace a non-printable character, you have to first determine the ASCII +value for the character. You can use the ":ascii" ex command or the "ga" +normal-mode command to display the ASCII value of the character under the +cursor. + +You can enter the non-printable character by entering CTRL-V followed by +the decimal number 1-255 (with no leading zero), or by x and a hex number +00-FF, or by an octal number 0-0377 (with leading zero), or by u and a hex +number 0-FFFF, or by U and a hex number 0-7FFFFFFF + +Another alternative is to use the ":digraphs" ex command to display the +digraphs for all characters, together with their value in decimal and +alpha. You can enter a non-printable character by entering CTRL-K followed +by two alphanumeric characters (a digraph). + +For more information, read + + :help :ascii + :help i_CTRL-V + :help i_CTRL-V_digit + :help :digraphs + + +12.32. How do I remove duplicate lines from a buffer? + +You can use the following user-defined command to remove all the duplicate +lines from a buffer: + +:command -range=% Uniq ,g/^\%<l\(.*\)\n\1$/d + +Add the above command to your .vimrc file and invoke ":Uniq" to remove all +the duplicate lines. + + +12.33. How do I prefix all the lines in a file with the corresponding line + numbers? + +You can prefix the lines with the corresponding line number in several +ways. Some of them are listed below: + + :%s/^/\=line('.'). ' ' + :%s/^/\=strpart(line(".")." ", 0, 5) + :g/^/exec "s/^/".strpart(line(".")." ", 0, 4) + +For more information, read + + :help sub-replace-special + :help line() + :help expr6 + :help strpart() + :help :execute + :help :global + + +12.34. How do I exchange (swap) two characters or words or lines? + +You can exchange two characters with the "xp" command sequence. The 'x' +will delete the character under the cursor and 'p' will paste the just +deleted character after the character under the cursor. This will result +in exchanging the two characters. + +You can exchange two words with the "deep" command sequence (start with the +cursor in the blank space before the first word). + +You can exchange two lines with the "ddp" command sequence. The 'dd' will +delete the current line and 'p' will paste the just deleted line after the +current line. This will result in exchanging the two lines. + +All of the above operations will change the " unnamed register. + +You can use the ":m +" ex command to exchange two lines without changing the +unnamed register. + +For more information, read + + :help x + :help p + :help dd + :help d + :help e + :help linewise-register + :help quotequote + :help :move + + +12.35. How do I change the characters used as word delimiters? + +Vim uses the characters specified by the 'iskeyword' option as word +delimitiers. The default setting for this option is "@,48-57,_,192-255". + +For example, to add ':' as a word delimitier, you can use + + :set iskeyword+=: + +To remove '_' as a word delimitier, you can use + + :set iskeyword-=_ + +For more information, read + + :help 'iskeyword' + :help word + + +============================================================================= + +SECTION 13 - COMPLETION IN INSERT MODE + + +13.1. How do I complete words or lines in insert mode? + +In insert mode, you can complete words using the CTRL-P and CTRL-N keys. +The CTRL-N command searches forward for the next matching keyword. +The CTRL-P command searches backwards for the next matching keyword. + +In insert mode, you can use the CTRL-X CTRL-L command sequence to complete +lines that starts with the same characters as in the current line before +the cursor. To get the next matching line, press the CTRL-P or CTRL-N keys. +There are a lot of other keys/ways available to complete words in insert +mode. + +Vim supports completion of the following items: + + CTRL-X CTRL-F file names + CTRL-X CTRL-L whole lines + CTRL-X CTRL-D macro definitions (also in included files) + CTRL-X CTRL-I current and included files + CTRL-X CTRL-K words from a dictionary + CTRL-X CTRL-T words from a thesaurus + CTRL-X CTRL-] tags + CTRL-X CTRL-V Vim command line + +For more information, read + + :help 24.3 + :help ins-completion + + +13.2. How do I complete file names in insert mode? + +In insert mode, you can use the CTRL-X CTRL-F command sequence to complete +filenames that start with the same characters as in the current line before +the cursor. + +For more information, read + + :help compl-filename + + +13.3. I am using CTRL-P/CTRL-N to complete words in insert mode. How do I + complete words that occur after the just completed word? + +You can use CTRL-X CTRL-N and CTRL-X CTRL-P keys to complete words that are +present after the just completed word. + +For more information, read + + :help i_CTRL-X_CTRL-P + :help i_CTRL-X_CTRL-N + :help ins-completion + + +============================================================================= + +SECTION 14 - TEXT FORMATTING + + +14.1. How do I format a text paragraph so that a new line is inserted at + the end of each wrapped line? + +You can use the 'gq' command to format a paragraph. This will format the +text according to the current 'textwidth' setting. + +Note that the gq operator can be used with a motion command to operate on a +range of text. For example: + + gqgq - Format the current line + gqap - Format current paragraph + gq3j - Format the current and the next 3 lines + +For more information, read + + :help gq + :help formatting + :help usr_25.txt + :help motion.txt + + +14.2. How do I format long lines in a file so that each line contains less + than 'n' characters? + +You can set the 'textwidth' option to control the number of characters that +can be present in a line. For example, to set the maximum width of a line +to 70 characters, you can use the following command: + + set textwidth=70 + +Now to break the long lines in a file to the length defined by the +'textwidth' option, you can use + + :g/./normal gqq + +For more information, read + + :help 'textwidth' + :help gq + + +14.3. How do I join short lines to form a paragraph? + +First, make sure the 'textwidth' option is set to a high value: + + :set textwidth=99999 + +Next, join the short lines to form a paragraph using the command: + + 1GgqG + +The above command will operate on the entire file. To do the formatting on +all paragraphs in a specific range, use: + + :'a,'bg/\S/normal gq} + +For more information, read + + :help gq + :help G + :help gqq + + +14.4. How do I format bulleted and numbered lists? + +You can configure Vim to format bulleted and numbered lists using the +'formatoptions' option. For example, you can format the list of the +following format: + + - this is a test. this is a test. this is a test. this is a test. + this is a test. + +into this format: + + - this is a test. this is a test. this is a test. this is a test. + this is a test. + +You can use the 'n' flag in the 'formatoptions' to align the text. + + :set fo+=n + +With this option, when formatting text, Vim will recognize numbered lists. +For this option to work, the 'autoindent' option also must be set. + +For more information, read + + :help 'formatoptions' + :help fo-table + :help format-comments + + +14.5. How do I indent lines in insert mode? + +In insert mode, you can press the CTRL-T key to insert one shiftwidth of +indent at the start of the current line. In insert mode, you can use the +CTRL-D key to delete on shiftwidth of indent at the start of the current +line. You can also use the CTRL-O >> and CTRL-O << commands to indent the +current line in insert mode. + +For more information, read + + :help i_CTRL-T + :help i_CTRL-D + :help i_0_CTRL-D + :help i_CTRL-O + :help >> + :help << + + +14.6. How do I format/indent an entire file? + +You can format/indent an entire file using the gg=G command, where + + gg - Goto the beginning of the file + = - apply indentation + G - till end of file + +For more information, read + + :help gg + :help = + :help G + :help 'formatprg' + :help C-indenting + + +14.7. How do I increase or decrease the indentation of the current line? + +You can use the '>>' and '<<' commands to increase or decrease the +indentation of the current line. + +For more information, read + + :help shift-left-right + :help >> + :help << + :help 'shiftwidth' + + +14.8. How do I indent a block/group of lines? + +You can visually select the group of lines and press the > or < key to +indent/unindent the lines. You can also use the following ex-command to +indent the lines + + :10,20> + +For more information, read + + :help shift-left-right + :help v_> + :help v_< + :help :< + :help :> + + +14.9. When I indent lines using the > or < key, the standard 8-tabstops are + used instead of the current 'tabstop' setting. Why? + +The number of spaces used when lines are indented using the ">" operator is +controlled by the 'shiftwidth' option. The 'tabstop' setting is not used +for indentation. To change the amount of spaces used for indentation, use +the command: + + :set shiftwidth=4 + +For more information, read + + :help 'shiftwidth' + :help >> + :help 'softtabstop' + + +14.10. How do I turn off the automatic indentation of text? + +By default, the automatic indentation of text is not turned on. Check the +configuration files (.vimrc, .gvimrc) for settings related to indentation. +Make sure the ":filetype indent on" command is not present. If it is +present, remove it. Also, depending on your preference, you may also want +to check the value of the 'autoindent', 'smartindent', 'cindent' and +'indentexpr' options and turn them off as needed. + +For more information, read + + :help :filetype-indent-off + :help 'autoindent' + :help 'smartindent' + :help 'cindent' + :help 'indentexpr' + + +14.11. How do I configure Vim to automatically set the 'textwidth' option + to a particular value when I edit mails? + +You can use the 'FileType' autocommand to set the 'textwidth' option: + + autocmd FileType mail set tw= + +For more information, read + + :help :autocmd + :help FileType + :help usr_43.txt + + +14.12. Is there a way to make Vim auto-magically break lines? + +Yes. Set the 'textwidth' option to the preferred length for a line. Then +Vim will auto-magically break the newly entered lines. For example: + + :set textwidth=75 + +For more information, read + + :help 'textwidth' + :help ins-textwidth + :help 'formatoptions' + :help fo-table + :help formatting + + +14.13. I am seeing a lot of ^M symbols in my file. I tried setting the + 'fileformat' option to 'dos' and then 'unix' and then 'mac'. None of + these helped. How can I hide these symbols? + +When a file is loaded in Vim, the format of the file is determined as +below: + +- If all the lines end with a new line (), then the fileformat is + 'unix'. +- If all the lines end with a carriage return () followed by a new line + (), then the fileformat is 'dos'. +- If all the lines end with carriage return (), then the fileformat is + 'mac'. + +If the file has some lines ending with and some lines ending with +followed by a , then the fileformat is set to 'unix'. + +You can change the format of the current file, by modifying the +'fileformat' option and then saving the file: + + :set fileformat=dos + :w + +To display the format of the current file, use + + :set fileformat? + +The above behavior is also controlled by the 'fileformats' option. You can +try the following commands: + + :set fileformats+=unix + :e + :set fileformat=unix + :w + +To remove the carriage return () character at the end of all the lines +in the current file, you can use the following command: + + :%s/\r$// + +To force Vim to use a particular file format, when editing a file, you can +use the following command: + + :e ++ff=dos filename + +For more information, read + + :help 'fileformats' + :help 'fileformat' + :help file-formats + :help DOS-format-write + :help Unix-format-write + :help Mac-format-write + :help dos-file-formats + :help 23.1 + :help ++ff + + +14.14. When I paste some text into a Vim buffer from another application, + the alignment (indentation) of the new text is messed up. How do I + fix this? + +The indentation of the text is messed up due to various Vim settings +related to indentation (like autoindent, smartindent, textwidth etc). +Before pasting text into Vim, you can set the 'paste' option: + + :set paste + +After pasting the text, you can turn off the option using: + + :set nopaste + +You can also toggle the paste option using: + + :set paste! + +If you can access the clipboard through the * register, then you can paste +the text without indentation using CTRL-R CTRL-O *. + +For more information, read + + :help 'paste' + :help 'pastetoggle' + :help i_CTRL-R_CTRL_O + :help clipboard + :help xterm-clipboard + :help gui-clipboard + + +14.15. When there is a very long wrapped line (wrap is "on") and a line + doesn't fit entirely on the screen it is not displayed at all. There + are blank lines beginning with '@' symbol instead of wrapped line. If + I scroll the screen to fit the line the '@' symbols disappear and the + line is displayed again. What Vim setting control this behavior? + +You can set the 'display' option to 'lastline' to display as much as +possible of the last line in a window instead of displaying the '@' +symbols. + + :set display=lastline + +For more information, read + + :help 'display' + + +14.16. How do I convert all the tab characters in a file to space + characters? + +You can use the ":retab" command to update all the tab characters in the +current file with the current setting of 'expandtab' and 'tabstop'. For +example, to convert all the tabs to white spaces, use + + :set expandtab + :retab + +For more information, read + + :help :retab + :help 'expandtab' + :help 'tabstop' + :help 25.3 + + +14.17. What Vim options can I use to edit text that will later go to a word + processor? + +You can set the following options to edit text that will later go into a +word processor: + + :set wrap + :set linebreak + :set textwidth=0 + :set showbreak=>>> + +You can use the 'gk' and 'gj' commands to move one screen line up and down. +For more information, read + + :help 'wrap' + :help 'linebreak' + :help 'textwidth' + :help 'showbreak' + :help gk + :help gj + + +14.18. How do I join lines without adding or removing any space characters? + +By default, when you join lines using the "J" or ":join" command, Vim will +replace the line break, leading white space and trailing white space with a +single space character. If there are space characters at the end of a line +or a line starts with the ')' character, then Vim will not add a space +character. + +To join lines without adding or removing any space characters, you can use +the gJ or ":join!" commands. + +For more information, read + + :help gJ + :help :join + :help J + :hep 10.5 + :help 'joinspaces' + :help 'cpoptions' + :help 'formatoptions' + + +============================================================================= + +SECTION 15 - VISUAL MODE + + +15.1. How do I do rectangular block copying? + +You can do rectangular block copying in Vim using the blockwise visual +mode. To start blockwise visual mode use the CTRL-V key. Move the cursor +using any of the motion commands and then use the y operator to yank to +visually selected text. + +If CTRL-V does not work as expected, it may have been remapped to CTRL-Q by +the mswin.vim script which is often sourced by a vimrc on Windows machines +to mimic some common short cuts from other programs. + +For more information, read + + :help 04.4 + :help blockwise-visual + :help visual-mode + :help Q_vi + + +15.2. How do I delete or change a column of text in a file? + +You can use the Vim block-wise visual mode to select the column of text and +apply an operator (delete, change, copy, etc) on it. + +For more information, read + + :help visual-block + :help visual-operators + + +15.3. How do I apply an ex-command on a set of visually selected lines? + +When you select a range of lines in visual mode, the < register is set to +the start of the visual region and the > register is set to the end of the +visual region. You can use these registers to specify the range for an ex +command. After visually selecting the lines, press ":" to go to the command +mode. Vim will automatically insert the visual range '<,'>. You can run +any ex-command on the visual range. + +For more information, read + + :help v_: + :help '< + :help '> + + +15.4. How do I execute an ex command on a column of text selected in Visual + block mode? + +All the ex commands operate on whole lines only. If you try to execute an +ex command on a column of text selected in visual block mode, Vim will +operate on all the selected lines (instead of the selected columns). You +can use the vis.vim plugin script from http://vim.sourceforge.net scripts +archive to do this. + +For more information, read + + :help cmdline-ranges + :help 10.3 + :help cmdline-lines + + +15.5. How do I select the entire file in visual mode? + +You can select the entire file in visual mode using ggVG. + + gg - go to the beginning of the file. + V - Start linewise visual mode + G - goto the end of the file. + +For more information, read + + :help gg + :help linewise-visual + :help G + + +15.6. When I visually select a set of lines and press the > key to indent + the selected lines, the visual mode ends. How can I reselect the + region for further operation? (or) How do I re-select the last + selected visual area again? + +You can use the 'gv' command to reselect the last selected visual area. You +can also use the marks '< and '> to jump to the beginning or the end of the +last selected visual area. + +For more information, read + + :help gv + :help '< + :help '> + + +15.7. How do I jump to the beginning/end of a visually selected region? + +You can use the 'o' command to jump to the beginning/end of a visually +selected region. + +For more information, read + + :help v_o + + +15.8. When I select text with mouse and then press : to enter an ex + command, the selected text is replaced with the : character. How do I + execute an ex command on a text selected using the mouse similar to + the text selected using the visual mode? + +This will happen if you have configured Vim to use select mode instead of +Visual mode by setting the 'selectmode' option. Check the value of this +option: + + :set selectmode? + +This mode is known as selectmode and is similar to the visual mode. This +option is also automatically set when you use the "behave mswin" command. +Select mode looks like visual mode, but it is similar to the selection mode +in MS-Windows. + +For more information, read + + :help Select-mode + :help 'selectmode' + :help 9.4 + :help :behave + + +15.9. When I select a block of text using the mouse, Vim goes into + selection mode instead of Visual mode. Why? + +The 'selectmode' option controls whether Select mode will be started when +selecting a block of text using the mouse. To start Visual mode when +selecting text using mouse, remove the 'mouse' value from the 'selectmode' +option: + + :set selectmode-=mouse + +Note that by default, the 'selectmode' option will be set to empty, so that +always visual mode is used. + +For more information, read + + :help 'selectmode' + :help Select-mode + :help :behave + + +15.10. How do I visually select the last copy/pasted text? + +You can use the '[ and '] marks to visually select the last copy/pasted +text. The '[ mark is set to the beginning of the last changed/yanked text +and the '] mark is set to the end of the last changed/yanked text. To +visually select this block of text use the command '[v'] + +For more information, read + + :help '[ + :help '] + :help `a + :help v + + +============================================================================= + +SECTION 16 - COMMAND-LINE MODE + + +16.1. How do I use the name of the current file in the command mode or an + ex command line? + +In the command line, the '%' character represents the name of the current +file. In some commands, you have to use expand("%") to get the filename: + + :!perl % + +For more information, read + + :help :_% + :help cmdline-special + :help expand() + + +16.2. How do I edit the text in the Vim command-line effectively? + +You can use the command-line window for editing Vim command-line text. To +open the Vim command-line window use the "q:" command in normal mode. In +command-line mode, use the CTRL-F key. In this window, the command line +history will be displayed. You can use normal Vim keys/commands to edit any +previous/new command line. To execute a command line, press the +enter/return key. + +In a similar vain, the search history can be edited with "q/" and "q?" +commands. + +For more information, read + + :help cmdline-window + + +16.3. How do I switch from Vi mode to Ex mode? + +You can use the Q command to switch from Vi mode to Ex mode. To switch from +Ex mode back to the Vi mode, use the :vi command. + +For more information, read + + :help Q + :help gQ + :help Ex-mode + :help :vi + + +16.4. How do I copy the output from an ex-command into a buffer? + +To copy the output from an ex-command into a buffer, you have to first get +the command output into a register. You can use the ":redir" command to get +the output into a register. For example, + + :redir @a + :g/HelloWord/p + :redir END + +Now the register 'a' will contain the output from the ex command +"g/HelloWord/p". Now you can paste the contents of the register 'a' into a +buffer. You can also send or append the output of an ex-command into a file +using the 'redir' command. + +You can prefix the ":global" command with ":silent", to avoid having the +lines printed to the screen. + +To redirect the output from an ex-command to a file, you can use the +following set of commands: + + :redir > myfile + :g/HelloWord/p + :redir END + +For more information, read + + :help :redir + :help :silent + + +16.5. When I press the tab key to complete the name of a file in the + command mode, if there are more than one matching file names, then + Vim completes the first matching file name and displays a list of all + matching filenames. How do I configure Vim to only display the list + of all the matching filenames and not complete the first one? + +You can modify the 'wildmode' option to configure the way Vim completes +filenames in the command mode. In this case, you can set the 'wildmode' +option to 'list': + + :set wildmode=list + +For more information, read + + :help 'wildmode' + + +16.6. How do I copy text from a buffer to the command line and from the + command line to a buffer? + +To copy text from a buffer to the command line, after yanking the text from +the buffer, use Ctrl-R 0 in the command line to paste the text. You can +also yank the text to a specific register and use CTRL-R to +paste the text to the command line. You can use CTRL-R CTRL-W to paste the +word under the cursor in the command line. + +To copy text from the command line into a buffer, you can paste the +contents of the : register using the ":p command. The most recently +executed command line is stored in the : register. + +Another approach for copying and pasting text to and from the command line +is to open the command line window using q: from normal mode or CTRL-F from +the command-line mode. In the command line window you can use all the Vim +commands to edit the command line. + +For more information, read + + :help c_CTRL-R + :help quote_: + :help cmdline-window + + +16.7. How do I put a command onto the command history without executing it? + +To put a command onto the command history without executing it, press the + key to cancel the command. + +For more information, read + + :help c_ + + +16.8. How do I increase the height of the command-line? + +You can increase the height of the command-line by changing the 'cmdheight' +option: + + :set cmdheight=2 + +For more information, read + + :help 'cmdheight' + :help hit-enter + :help 05.7 + + +============================================================================= + +SECTION 17 - VIMINFO + + +17.1. When I invoke Vim, I get error messages about illegal characters in + the viminfo file. What should I do to get rid of these messages? + +You can remove the $HOME/.viminfo or the $HOME/_viminfo file to get rid of +these error messages. + +For more information, read + + :help viminfo-errors + :help viminfo-file-name + :help viminfo + :help 21.3 + + +17.2. How do I disable the viminfo feature? + +By default, the viminfo feature is disabled. If the viminfo feature is +enabled by a system-wide vimrc file, then you can disable the viminfo +feature by setting the 'viminfo' option to an empty string in your local +.vimrc file: + + :set viminfo="" + +For more information, read + + :help 'viminfo' + + +17.3. How do I save and use Vim marks across Vim sessions? + +You can save and restore Vim marks across Vim sessions using the viminfo +file. To use the viminfo file, make sure the 'viminfo' option is not empty. +To save and restore Vim marks, the 'viminfo' option should not contain the +'f' flag or should have a value greater than zero for the 'f' option. + +For more information, read + + :help 21.3 + :help viminfo + :help 'viminfo' + :help :wviminfo + :help :rviminfo + + +============================================================================= + +SECTION 18 - REMOTE EDITING + + +18.1. How do I open a file with existing instance of gvim? What happened to + the Vim 5.x OpenWithVim.exe and SendToVim.exe files? + +Starting with Vim6, the OLE version of OpenWithVim.exe and SendToVim.exe +Vim utilities are replaced by the new client-server feature. To open the +file j.txt with an existing instance of Gvim (MyVim), use: + + $ gvim --servername MyVim --remote-silent j.txt + +To list the server names of all the currently running Vim instances, use + + $ vim --serverlist + +To get more information about client-server feature, read + + :help client-server + + +18.2. How do I send a command to a Vim server to write all buffers to disk? + +You can use the Vim remote server functionality to do this: + + $ gvim --servername myVIM --remote-send ":wall" + +For more information, read + + :help client-server + :help CTRL-\_CTRL-N + :help :wall + + +18.3. Where can I get the documentation about the Vim remote server + functionality? + +You can get more information about the Vim remote server functionality by +reading + + :help client-server + + +============================================================================= + +SECTION 19 - OPTIONS + + +19.1. How do I configure Vim in a simple way? + +You can use the ":options" command to open the Vim option window: + + :options + +This window can be used for viewing and setting all the options. + +For more information, read + + :help :options + + +19.2. How do I toggle the value of an option? + +You can prefix the option with "inv" to toggle the value of the option: + + :set invignorecase + :set invhlsearch + +You can also suffix the option with "!" to toggle the value: + + :set ignorecase! + :set hlsearch! + +For more information, read + + :help set-option + + +19.3. How do I set an option that affects only the current buffer/window? + +Some of the Vim options can have a local or global value. A local value +applies only to a specific buffer or window. A global value applies to all +the buffers or windows. + +When a Vim option is modified using the ":set" command, both the global and +local values for the option are changed. You can use the ":setlocal" +command to modify only the local value for the option and the ":setglobal" +command to modify only the global value. + +You can use the ":setlocal" command to set an option that will affect only +the current file/buffer: + + :setlocal textwidth=70 + +Note that not all options can have a local value. You can use ":setlocal" +command to set an option locally to a buffer/window only if the option is +allowed to have a local value. + +You can also use the following command to set a option locally: + + :let &l:{option-name} = + +For more information, read + + :help :setlocal + :help local-options + + +19.4. How do I use space characters for a Vim option value? + +To use space characters in a Vim option value, you have to escape the space +character. For example: + + :set tags=tags\ /usr/tags + +For more information, read + + :help option-backslash + + +19.5. Can I add (embed) Vim option settings to the contents of a file? + +You can use modelines to add Vim option settings to the contents of a file. +For example, in a C file, you can add the following line to the top or the +bottom of the file: + + /* vim:sw=4: */ + +This will set the 'shiftwidth' option to 4, when editing that C file. +For this to work, the 'modeline' option should be set. By default, the +'modeline' option is not set, for security reasons, in Debian. The +'modelines' settings specifies the number of lines that will be checked for +the Vim set commands. + +For more information, read + + :help 21.6 + :help modeline + :help auto-setting + :help 'modeline' + :help 'modelines' + + +19.6. How do I display the line numbers of all the lines in a file? + +You can set the 'number' option to display the line numbers for all the +lines. + + :set number + +For more information, read + + :help 'number' + + +19.7. How do I change the width of the line numbers displayed using the + "number" option? + +The width used for displaying the line numbers for the 'number' option is +hard-coded in Vim. It is not possible to change this width by setting some +option. + +The request and the patch to add an option to change the number of columns +used for the 'number' option is in the Vim todo list: + + "Add an option to set the width of the 'number' column. Eight + positions is often more than needed. Or adjust the width to the length + of the file? + Add patch that adds 'numberlen' option. (James Harvey) + Other patch with min and max from Emmanuel Renieris (2002 Jul 24) + Other patch without an option by Gilles Roy (2002 Jul 25)" + + +19.8. How do I display (view) all the invisible characters like space, tabs + and newlines in a file? + +You can set the 'list' option to see all the invisible characters in your +file. + + :set list + +With this option set, you can view space characters, tabs, newlines, +trailing space characters and wrapped lines. + +To not display the invisible characters (which is the default), you have to +reset the 'list' option: + + :set nolist + (or) + :set list! + +The ":set list!" command will toggle the current setting of the boolean +'list' option. + +You can modify the 'listchars' option to configure how and which invisible +characters are displayed. For example, with the following command all the +trailing space characters will be displayed with a '.' character. + + :set listchars=trail:. + +For more information, read + + :help 'listchars' + :help 'list' + + +19.9. How do I configure Vim to always display the current line and column + number? + +You can set the 'ruler' option to display current column and line number in +the status line: + + :set ruler + +For more information, read + + :help 'ruler' + + +19.10. How do I display the current Vim mode? + +You can set the 'showmode' option to display the current Vim mode. In +Insert, Replace and Visual modes, Vim will display the current mode on the +last line. + + :set showmode + +For more information, read + + :help 'showmode' + + +19.11. How do I configure Vim to show pending/partial commands on the + status line? + +You can set the 'showcmd' option to display pending/partial commands in the +status line: + + :set showcmd + +For more information, read + + :help 'showcmd' + + +19.12. How do I configure the Vim status line to display different + settings/values? + +You can set the 'statusline' option to display different values/settings in +the Vim status line. + +For more information, read + + :help 'statusline' + :help 'laststatus' + :help 'rulerformat' + :help 'ruler' + + +19.13. How do I configure Vim to display status line always? + +You can set the 'laststatus' option to 2 to display the status line always. + + :set laststatus=2 + +For more information, read + + :help 'laststatus' + + +19.14. How do I make a Vim setting persistent across different Vim + invocations/instances/sessions? + +To make a Vim option setting persistent across different Vim instances, add +your setting to the .vimrc or .gvimrc file. You can also use the ":mkvimrc" +command to generate a vimrc file for the current settings. + +For more information, read + + :help save-settings + :help vimrc + :help gvimrc + :help vimrc-intro + :help :mkvimrc + :help initialization + + +19.15. Why do I hear a beep (why does my window flash) about 1 second after + I hit the Escape key? + +This is normal behavior. If your window flashes, then you've got the visual +bell on. Otherwise, you should hear a beep. + +Vim needs a timeout to tell the difference between a simple escape and, +say, a cursor key sequence. When you press a key in normal mode (and even +in insert mode) and that key is the beginning of a mapping, Vim waits a +certain amount of time to see if the rest of the mapping sequence follows. +If the mapping sequence is completed before a given timeout period, the +mapping for that sequence of keys is applied. If you interrupt the mapping, +the normal actions associated with the keys are executed. + +For example, if you have a mapping defined as ":imap vvv Vim is great!!" +and you type "vvv" quickly, the "Vim is great!!" will be inserted into your +text. But if you type "vv v" then that is what will put into your text. +This is also true if you type "vvv" too slowly where "too slowly" is longer +than the value for the timeout option. Setting the timeout option to a +larger value can help alleviate problems that appear when using function +keys over a slow line. + +For more information, read + + :help ttimeout + + +19.16. How do I make the 'c' and 's' commands display a '$' instead of + deleting the characters I'm changing? + +To make the 'c' and 's' commands display a '$' instead of deleting the +characters, add the $ flag to the 'cpoptions' option: + + :set cpoptions+=$ + +For more information, read + + :help 'cpoptions' + + +19.17. How do I remove more than one flag using a single ":set" command + from a Vim option? + +You can remove more than one flag from a Vim option using a single ":set" +command, by specifying the flags in exactly the same order as they appear +in the option. For example, if you use the following command to remove the +'t' and 'n' flags from the 'formatoptions' option: + + :set formatoptions-=tn + +The 't' and 'n' flags will be removed from the 'formatoptions' option, only +if the 'formatoptions' option contains these flags in this order: 'tn'. +Otherwise, it will not remove the flags. To avoid this problem, you can +remove the flags one by one: + + :set formatoptions-=t formatoptions-=n + +For more information, read + + :help :set-= + + +============================================================================= + +SECTION 20 - MAPPING KEYS + + +20.1. How do I know what a key is mapped to? + +To see what a key is mapped to, use the following commands: + + :map + :map! + +You can also check the mappings in a particular mode using one of the +":cmap", ":nmap", ":vmap", ":imap", ":omap", etc commands. + +For more information, read + + :help map-listing + :help map-overview + + +20.2. How do list all the user-defined key mappings? + +You can list all the user-defined key mappings using: + + :map + +For more information, read + + :help map-listing + + +20.3. How do I unmap a previously mapped key? + +You can unmap a previously mapped key using the ":unmap" command: + + :unmap + :unmap! + +For mode specific mappings, you can use one of the +":nunmap/:vunmap/:ounmap/:iunmap/:lunmap/:cunmap" commands. + +The following command will fail to unmap a buffer-local mapped key: + + :unmap + +To unmap a buffer-local mapped key, you have to use the keyword in +the unmap command: + + :unmap + :unmap! + +For more information, read + + :help :unmap + :help map-modes + :help map-local + :help 'mapleader' + + +20.4. I am not able to create a mapping for the key. What is wrong? + +First make sure that the key is passed to Vim. In insert mode, press CTRL-V +followed by the desired key. You should see the keycode corresponding to +the key . If you do see the keycode, then you can create a mapping for the +key using the following command: + + :map + +For more information, read + + :help map-keys-fails + :help :map-special-keys + :help key-codes + + +20.5. How do I map the numeric keypad keys? + +First make sure that the numeric keypad keys are passed to Vim. Next, you +can use the following command to map the numeric keypad keys: + + :map + +where, can be kHome, kEnd, kPageUp, kPageDown, kPlus, kMinus, +kDivide, kMultiply, kEnter, etc. + +For more information, read + + :help key-codes + :help terminal-options + + +20.6. How do I create a mapping that works only in visual mode? + +You can create mappings that work only in specific mode (normal, command, +insert, visual, etc). To create a mapping that works only in the visual +mode, use the ":vmap" command: + + :vmap + +For more information, read + + :help :vmap + :help map-modes + :help 40.1 + + +20.7. In a Vim script, how do I know which keys to use for my mappings, so + that the mapped key will not collide with an already used key? + +Vim uses most of the keys in the keyboard. You can use the prefix +in maps to define keys which will not overlap with Vim keys. For example: + + :map S s + :map j j + :map k k + +where by default gets substituted with a backslash (\), so the +user would enter + + \s + \j + \k + +to invoke the above map commands. The user can change the mapleader +variable to be whatever they wanted: + + :let mapleader = "," + +When writing a plugin or other script, more often than not, it is advisable +to use :noremap instead of :map to avoid side effects from user defined +mappings. + +For more information, read + + :help + :help + :help write-plugin + + +20.8. How do I map the escape key? + +You can map the Escape key to some other key using the ":map" command. For +example, the following command maps the escape key to CTRL-O. + + :map + + +20.9. How do I map a key to perform nothing? + +You can map a key to to perform nothing when the key is pressed. For +example, with the following mappings, the key will do nothing when +pressed. + + :map + :map! + +For more information, read + + :help + :help :map + :help :map! + :help map-modes + + +20.10. I want to use the Tab key to indent a block of text and Shift-Tab + key to unindent a block of text. How do I map the keys to do this? + This behavior is similar to textpad, visual studio, etc. + +Use the following mapping: + + :inoremap + :nnoremap >> + :nnoremap + :vnoremap > + :vnoremap + +Note that, the mapping will work only if Vim receives the correct +key sequence. This is mostly the case with GUI Vim. + +For more information, read + + :help :inoremap + :help :nnoremap + :help :vnoremap + :help + :help i_CTRL-O + :help >> + :help << + :help + + +20.11. In my mappings the special characters like are not recognized. + How can I configure Vim to recognize special characters? + +Check the value of the 'cpoptions' option: + + :set cpoptions? + +If this option contains the '<' flag, then special characters will not be +recognized in mappings. Remove the '<' flag from 'cpoptions' option: + + :set cpo-=< + +Also, check the value of the 'compatible' option: + + :se compatible? + +The 'compatible' option must be reset: + + :se nocompatible + +For more information, read + + :help 'cpoptions' + :help 'compatible' + + +20.12. How do I use the '|' to separate multiple commands in a map? + +You can escape the '|' character using backslash (\) to use '|' in a map. + + :map _l :!ls \| more + +You can also try the following command: + + :map _l :!ls more + +There are also other ways to do this. + +For more information, read + + :help map_bar + + +20.13. If I have a mapping/abbreviation whose ending is the beginning of + another mapping/abbreviation, how do I keep the first from expanding + into the second one? + +Instead of using the ":map lhs rhs" command, use the ":noremap lhs rhs" +command. For abbreviations, use "noreabbrev lhs rhs". The "nore" prefix +prevents the mapping or abbreviation from being expanded again. + +For more information, read + + :help :noremap + :help :noreabbrev + + +20.14. Why does it take a second or more for Vim to process a key, + sometimes when I press a key? + +Make sure you have not defined a mapping for this key using the following +command: + + :map + +If a mapping is defined for this key and the mapped key contains more than +one character, then Vim will wait for the next character to be pressed to +determine whether it is the mapped key or not. For example, if you have +mapped "ab", then if you press "a", Vim will wait for the next key to be +pressed. If the next key is "b", Vim will execute the mapped sequence. +Otherwise, Vim will proceed with the normal processing of "a" followed by +the next key. If the 'timeout' option is set (which is the default), then +Vim will timeout after waiting for the period specified with the +'timeoutlen' option (default is 1 second). + +For more information, read + + :help map-typing + :help 'timeoutlen' + :help 'ttimeoutlen' + :help 'timeout' + :help 'ttimeout' + :help vt100-cursor-keys + :help slow-fast-terminal + + +20.15. How do I map a key to run an external command using a visually + selected text? + +You can the ":vmap" command to map a key in the visual mode. In the mapped +command sequence, you have to first yank the text. The yanked text is +available in the '"' register. Now, you can use the contents of this +register to run the external command. For example, to run the external +command "perldoc" on a visually selected text, you can use the following +mapping: + + :vmap y:!exec "!perldoc '" . @" . "'" + +If you want the mapping to work in the visual mode, but not with the +highlighted text, you can use the following command: + + :vmap :!perldoc + +The above mapping will use the word under the cursor instead of the +highlighted text. Note the use of the before invoking the "perldoc" +external command. The is used to erase the range of text selected in +the visual mode and displayed on the command line. If the visual range is +not removed using , then the output from the external command will +replace the visually selected text. + +For more information, read + + :help :vmap + :help quote_quote + :help let-register + :help c_CTRL-U + :help :!cmd + + +20.16. How do I map the Ctrl-I key while still retaining the functionality + of the key? + +The Ctrl-I key and the key produce the same keycode, so Vim cannot +distinguish between the Ctrl-I and the key. When you map the Ctrl-I +key, the key is also mapped (and vice versa). The same restriction +applies for the Ctrl-[ key and the key. + +For more information, read + + :help keycodes + + +============================================================================= + +SECTION 21 - ABBREVIATIONS + + +21.1. How do I auto correct misspelled words? + +You can auto correct misspelled words using abbreviations. For example, the +following abbreviation can be used to correct "teh" with "the": + + :abbreviate teh the + +Vim supports abbreviations in insert mode, replace mode and command-line +mode. + +For more information, read + + :help 24.7 + :help abbreviations + :help Q_ab + + +21.2. How do I create multi-line abbreviations? + +You can create multi-line abbreviations by embedding the "" +key code in the text: + + iabbrev #c ---------------- Date:----------- + +With the above abbreviation, when you type #c, it will be expanded to +the following text: + +-------------- +-- Date: +-- +--------- + +For more information, read + + :help abbreviations + + +21.3. When my abbreviations are expanded, an additional space character is + added at the end of the expanded text. How do I avoid this character? + +To avoid an additional space character at the end of the expanded text, you +can expand the abbreviation by pressing the CTRL-] key. The abbreviation +will be expanded without adding a space character at the end. + +Another alternative is to use the following function and command: + +function! Eatchar(pat) + let c = nr2char(getchar()) + return (c =~ a:pat) ? '' : c +endfunction +command! -nargs=+ Iabbr execute "iabbr" . "=Eatchar('\\s')" + +Now, define your abbreviations using the new "Iabbr" command instead of the +builtin "iabbrev" command. With this command, after expanding the +abbreviated text, the next typed space character will be discarded. + +For more information, read + + :help abbreviations + + +21.4. How do I insert the current date/time stamp into the file? + +You can use the strftime() function to insert the current data/time stamp +in a file. For example, you can use the following abbreviation: + + iabbrev dts =strftime("%y/%m/%d %H:%M") + +With this abbreviation, when you type dts in insert mode, it will be +expanded to the date/time stamp. + +Some other forms of the above abbreviation are listed below: + + iabbrev mdyl =strftime("%a %d %b %Y") + iabbrev mdys =strftime("%y%m%d") + iabbrev mdyc =strftime("%c") + iabbrev hml =strftime("%d/%m/%y %H:%M:%S") + iabbrev hms =strftime("%H:%M:%S") + +For more information, read + + :help strftime() + :help i_CTRL-R + + +21.5. How do I prevent an abbreviation from expanding in insert mode? + +You can prevent an abbreviation from expanding in insert mode by typing +CTRL-V before the character after the abrreviated word. + +For more information, read + + :help abbreviations + + +============================================================================= + +SECTION 22 - RECORD AND PLAYBACK + + +22.1. How do I repeat an editing operation (insertion, deletion, paste, + etc)? + +You can repeat the last editing operation using the '.' command. This will +repeat the last simple change like a insert, delete, change, paste, etc. + +For more information, read + + :help 04.3 + :help single-repeat + :help Q_re + + +22.2. How I record and repeat a set of key sequences? + +You can use the 'q' command in normal mode to record a set of key sequences +and store it in a register. For example, in the normal mode you can press q +followed by a register name {0-9a-bA-Z"} to start the recording. To +end/stop the recording press q again. You can playback/repeat the recorded +key sequences by pressing @ followed by the register name. e.g. @a. + +Another approach is to start Vim with the "-w" command-line argument. + + $ vim -w + +Vim will record all the characters typed in the session in the +specified file "file_name". You can use the recorded file with the "-s" +command line argument to play it back: + + $ vim -s + +For more information, read + + :help 10.1 + :help recording + :help -w + :help -s + + +22.3. How do I edit/modify a recorded set of key sequences? + +The recorded key sequences are stored in a register. You can paste the +contents of the register into a Vim buffer, edit the pasted text and again +yank the text into the register. You can also use the ":let" command to +modify the register. For example: + + :let @a = "iHello World\" + +For more information, read + + :help recording + :help 10.1 + :help let-register + :help <> + :help 'cpoptions' + + +22.4. How do I write recorded key sequences to a file? + +The recorded key sequences are stored in a register. You can paste the +contents of the register into a Vim buffer. Now you can save the buffer +into a file. You can also modify the pasted text and again yank into the +register to modify the recorded key sequence. For example, if you record a +set of key sequences using qa ..... q. The recorded key sequences are +stored in the register 'a'. You can paste the contents of register 'a' +using "ap. + +For more information, read + + :help recording + :help 10.1 + + +22.5. I am using register 0 to record my key sequences (i.e. q0 .... q). + In the recorded key sequences, I am yanking some text. After the + first replay of the recorded key sequence, I am no longer able to + play it back. + +Register 0 contains the text from the last yank operation. In your recorded +key sequence, when the yank is performed, register 0 is overwritten with +the yanked text. So your recording stored in register 0 is lost. You have +to use some other register. + +For more information, read + + :help registers + + +============================================================================= + +SECTION 23 - AUTOCOMMANDS + + +23.1. How do I execute a command when I try to modify a read-only file? + +You can use the FileChangedRO autocommand event to execute a command when a +read-only file modified. For example, you can use this event to checkout a +read-only file: + + :autocmd FileChangedRO * call MyCheckoutFunction() + +For more information, read + + :help FileChangedRO + + +23.2. How do I execute a command every time when entering a buffer? + +You can use the BufEnter autocommand event to execute a command every time +when entering a buffer. For example: + + :autocmd BufEnter *.c set formatoptions=croqt + +For more information, read + + :help BufEnter + + +23.3. How do I execute a command every time when entering a window? + +You can use the WinEnter autocommand event to execute a command every time +when entering a window. For example: + + :autocmd WinEnter *.c call MyFunction() + +For more information, read + + :help WinEnter + + +23.4. From an autocmd, how can I determine the name of the file or the + buffer number for which the autocommand is executed? + +You can use the special words or in an autocmd to get the +name of the file or the buffer number for which the autocommand is +executed. + +For more information, read + + :help : + :help : + :help : + + +23.5. How do I automatically save all the changed buffers whenever Vim + loses focus? + +You can define an autocommand for the FocusLost event which will save all +the modified buffers whenever Vim loses focus: + + :autocmd FocusLost * wall + +For more information, read + + :help FocusLost + :help :wall + + +23.6. How do I execute/run a function when Vim exits to do some cleanup? + +You can use VimLeave autocmd event to execute a function just before Vim +exists. For example, + + :autocmd VimLeave * call MyCleanupFunction() + +For more information, read + + :help VimLeave + + +============================================================================= + +SECTION 24 - SYNTAX HIGHLIGHT + + +24.1. How do I turn off/on syntax highlighting? + +By default, the Vim syntax highlighting is turned off. To enable the syntax +highlighting, you can use one of the following commands: + + :syntax enable + + or + + :syntax on + +To disable the syntax highlighting, you can use the following command: + + :syntax off + +For more information, read + + :help 06.1 + :help 06.4 + :help :syntax-enable + :help :syntax-on + :help :syn-clear + + +24.2. How do I change the background and foreground colors used by Vim? + +Vim uses the "Normal" highlight group for the background and foreground +colors. To change the foreground/background colors, you have to modify the +"Normal" highlight group. For example, to set the background color to blue +and foreground color to white, you can use + + :highlight Normal ctermbg=blue ctermfg=white guibg=blue guifg=white + +If you are using the Motif or the Athena version of the GUI Vim, then you +can modify the foreground and background resource names in the .Xdefaults +files to change the colors: + + Vim.foreground: Black + Vim.backround: Wheat + +You can also use the "-foreground" and "-background" command-line arguments +to specify the foreground and background colors. These arguments are +supported only in the Motif or Athena versions: + + $ gvim -foreground Black -background Wheat + +For more information, read + + :help :highlight + :help .Xdefaults + :help -gui + + +24.3. How do I change the highlight colors to suit a dark/light background? + +You can set the 'background' option to either 'dark' or 'light' to change +the highlight colors to suit a dark/light background: + + :set background=dark + +For more information, read + + :help 'background' + :help 6.2 + + +24.4. How do I change the color of the line numbers displayed when the + ":set number" command is used? + +The line numbers displayed use the LineNr highlighting group. To display +the current colors used, use + + :hi LineNr + +To change the color modify the LineNr highlight group. For example: + + :hi linenr guifg=red guibg=black + +This will give red numbers on a black background in GVIM. + +For more information, read + + :help :highlight + + +24.5. How do I change the background color used for a Visually selected + block? + +You can modify the 'Visual' highlight group to change the color used for a +visually selected block: + + :highlight Visual guibg=red + +For more information, read + + :help :highlight + :help hl-Visual + + +24.6. How do I highlight the special characters (tabs, trailing spaces, end + of line, etc) displayed by the 'list' option? + +You can modify the "NonText" and "SpecialKey" highlight groups to highlight +the special characters displayed by the 'list' option: + + :highlight NonText guibg=red + :highlight SpecialKey guibg=green + +The "NonText" highlighting group is used for "eol", "extends" and +"precedes" settings in the "listchars" option. The "SpecialKey" +highlighting group is used for the "tab" and "trail" settings. + +For more information, read + + :help 'listchars' + :help hl-NonText + :help hl-SpecialKey + + +24.7. How do I specify a colorscheme in my .vimrc/.gvimrc file, so that Vim + uses the specified colorscheme everytime? + +You can specify the color scheme using the ":colorscheme" command in your +.vimrc or .gvimrc file: + + colorschme evening + +For more information, read + + :help :colorscheme + + +24.8. Vim syntax highlighting is broken. When I am editing a file, some + parts of the file is not syntax highlighted or syntax highlighted + incorrectly. + +Vim doesn't read the whole file to parse the text for syntax highlighting. +It starts parsing wherever you are viewing the file. That saves a lot of +time, but sometimes the colors are wrong. A simple fix is refreshing the +screen using the CTRL-L key. Or scroll back a bit and then forward again. +You can also use the command: + + :syntax sync fromstart + +Note that this might considerably slow down the screen refreshing. + +For more information, read + + :help :syn-sync + :help :syn-sync-first + + +24.9. Is there a built-in function to syntax-highlight the corresponding + matching bracket? + +No. Vim doesn't support syntax-highlighting matching brackets. You can try +using the plugin developed by Charles Campbell: + + http://vim.sourceforge.net/tips/tip.php?tip_id=177 + +You can jump to a matching bracket using the '%' key. You can set the +'showmatch' option to temporarily jump to a matching bracket when in insert +mode. + +For more information, read + + :help % + :help 'showmatch' + :help 'matchtime' + :help 'matchpairs' + + +24.10. How do I turn off the C comment syntax highlighting? + +You can use the following command to turn off C comment syntax +highlighting: + + :highlight clear comment + +For more information, read + + :help c-syntax + + +24.11. How do I add my own syntax extensions to the standard syntax files + supplied with Vim? + +You should not modify the syntax files supplied with Vim to add your +extensions. When you install the next version of Vim, you will lose your +changes. Instead you should create a file under the ~/.vim/after/syntax +directory with the same name as the original syntax file and add your +additions to this file. + +For more information, read + + :help mysyntaxfile-add + :help 'runtimepath' + + +24.12. How do I replace a standard syntax file that comes with the Vim + distribution with my own syntax file? + +You can replace a standary syntax file that comes with the Vim distribution +by creating a file with the same name as the original syntax file and +placing it in the vim runtime syntax (~/.vim/syntax) directory. For +example, to replace the c.vim syntax file in a Unix system, place the new +c.vim in the ~/.vim/syntax directory. In a MS-Windows system, place the new +syntax file in the $HOME/vimfiles/syntax or $VIM/vimfiles/syntax directory. + +For more information, read + + :help mysyntaxfile-replace + :help 44.11 + :help mysyntaxfile + + +24.13. How do I highlight all the characters after a particular column? + +You can use the ":match" command to highlight all the characters after a +particular column: + + :match Todo '\%>75v.\+' + +This will highlight all the characters after the 75th column. + +For more information, read + + :help :match + :help /\%v + :help /\+ + :help /. + + +24.14. How do I convert a source file (.c, .h, etc) with the Vim syntax + highlighting into a HTML file? + +You can use the 2html.vim script to convert a source file into a HTML file +with the Vim syntax highlighting. Use the following command: + + :runtime! syntax/2html.vim + +For more information, read + + :help convert-to-HTML + + +24.15. How do I list the definition of all the current highlight groups? + +You can list the definition of all the current highlight groups using the +":highlight" (without any arguments) ex command. + +For more information, read + + :help :highlight + + +============================================================================= + +SECTION 25 - VIM SCRIPT WRITING + + +25.1. How do I list the names of all the scripts sourced by Vim? + +You can use the ":scriptnames" command to list the names of all the scripts +sourced by Vim: + + :scriptnames + +For more information, read + + :help :scriptnames + + +25.2. How do I debug Vim scripts? + +Vim has built-in support for a primitive debugger to debug Vim plugins and +scripts. Using this debugger you can set breakpoints and step through the +plugin functions. + +For more information, read + + :help debug-scripts + :help -D + + +25.3. How do I locate the script/plugin which sets a Vim option? + +You can use the ":verbose" command to locate the plugin/script which last +modified a Vim option. For example: + + :verbose set textwidth? + +For more information, read + + :help :set-verbose + :help :verbose + + +25.4. I am getting some error/informational messages from Vim (possibly + when running a script), the messages are cleared immediately. How do + I display the messages again? + +You can use the ":messages" command to display the previous messages. + + :messages + +For more information, read + + :help :messages + :help :echoerr + :help :echomsg + :help message-history + + +25.5. How do I save and restore a plugin specific information across Vim + invocations? + +Vim will save and restore global variables that start with an uppercase +letter and don't contain a lower case letter. For this to work, the +'viminfo' option must contain the '!' flag. Vim will store the variables in +the viminfo file. + +For more information, read + + :help 'viminfo' + :help viminfo-file + :help variables + + +25.6. How do I start insert mode from a Vim function? + +You can use the ":startinsert" command to start the insert mode from inside +a Vim function. + +For more information, read + + :help :startinsert + + +25.7. How do I change the cursor position from within a Vim function? + +You can use the cursor() function to position the cursor. + + call cursor(lnum, col) + +You can also use the following command to change the cursor position: + + exe "normal! " . lnum . "G" . col . "|" + +For more information, read + + :help cursor() + :help bar + + +25.8. How do I check the value of an environment variable in the .vimrc + file? + +You can use prefix the environment variable name with the '$' character to +use it from a Vim script/function. You can refer to the value of an +environment variable using the $env_var syntax: + + if $EDITOR == 'vi' + endif + +For more information, read + + :help expr-env + + +25.9. How do I check whether an environment variable is set or not from a + Vim function? + +You can use the exists() function to check for the existence of a +environment variable. + + if exists("$MY_ENV_VAR") + endif + +For more information, read + + :help exists() + :help expr-env + + +25.10. How do I call/use the Vim built-in functions? + +You can use the ":call" command to invoke a Vim built-in function: + + :call cursor(10,20) + +You can use the ":echo" command to echo the value returned by a function: + + :echo char2nr('a') + +You can use the ":let" command to assign the value returned by a function +to a variable: + + :let a = getline('.') + +To store the return value from a function into a Vim register, you can use +the following command: + + :let @a = system('ls') + +The above command will store the return value from the 'ls' command into +the register 'a'. + +For more information, read + + :help :call + :help :echo + :help :let + :help :let-register + :help user-functions + :help usr_41.txt + + +25.11. I am using some normal mode commands in my Vim script. How do I + avoid using the user-defined mappings for these normal mode commands + and use the standard Vim functionality for these normal mode + commands? + +You can use the "normal!" command in your script to invoke a normal-mode +command. This will use the standard functionality of the normal mode +command and will not use the user-defined mapping. + +For more information, read + + :help :normal + + +25.12. How do I get the current visually selected text into a Vim variable + or register? + +You can get the current visually selected text into a Vim variable by +yanking the text into Vim register and then assigning the contents of the +register into the variable: + + :normal! gvy + :let myvar = @" + +The above command copies the visually selected text into the variable +"myvar". + +You can also use the command: + + :normal! gv"*y + +In the above command, gv reselects the last visually selected text and the +rest of the command copies the selected text into the * (clipboard) +register. Alternatively, you can set the 'a' flag in the 'guioptions' +option to automatically copy a visually selected text into the * register. +To do this as part of a visual map, you can use a command similar to the +one shown below: + + :vmap "*y:call ... + +For more information, read + + :help gv + :help :normal + :help let-@ + :help quotestar + :help clipboard + :help registers + + +25.13. I have some text in a Vim variable 'myvar'. I would like to use this + variable in a ":s" substitute command to replace a text 'mytext'. + How do I do this? + +You can use the 'execute' command to evaluate the variable: + + :execute '%s/mytext/' . myvar . '/' + +For more information, read + + :help :execute + +You can also use "\=" in the substitute command to evaluate the variable: + + :%s/mytext/\=myvar/ + +For more information, read + + :help sub-replace-special + + +25.14. A Vim variable (bno) contains a buffer number. How do I use this + variable to open the corresponding buffer? + +The :buffer command will not accept a variable name. It accepts only a +buffer number or buffer name. You have to use the ":execute" command to +evaluate the variable into the corresponding value. For example: + + :execute "buffer " . bno + +For more information, read + + :help :execute + + +25.15. How do I store the value of a Vim option into a Vim variable? + +You can prefix the option name with the '&' character and assign the option +value to a Vim variable using the "let" command. For example, to store the +value of the 'textwidth' option into the Vim variable "old_tw", you can use +the following command: + + :let old_tw = &tw + +To do the opposite, to set the 'textwidth' option with the value stored in +the 'old_tw' variable, you can use the following command: + + :let &tw = old_tw + +For more information, read + + :help expr-option + :help let-option + + +25.16. I have copied and inserted some text into a buffer from a Vim + function. How do I indent the inserted text from the Vim function? + +You can use the following command to format the just inserted text: + + :normal '[='] + +For more information, read + + :help '[ + :help '] + :help = + :help :normal + + +25.17. How do I get the character under the cursor from a Vim script? + +You can use the getline() function and use string index [] to get the +character: + + :echo getline(".")[col(".") - 1] + +In the above command, getline(".") returns the text in the current line. +The indexing of the string starts at zero, and you can get a single +character in a string by its index with the "string[index]" notation. The +col(".") returns the column of the cursor position; the adjustment is to +get the right character of the string. + +Alternatively, you can use the following sequence of commands to get the +character under the cursor: + + normal! vy + let ch=@" + +Note that the above commands will change the '< and '> marks. + +For more information, read + + :help getline() + :help col() + :help expr-[] + + +25.18. How do I get the name of the current file without the extension? + +You can get the name of the current file without the extension using: + + :echo expand("%:r") + +With some commands, you can use the file name modifiers directly: + + :cd %:p:h + :!gcc -o %:r.o % + +For more information, read + + :help filename-modifiers + :help expand() + :help cmdline-special + :help fnamemodify() + + +25.19. How do I get the basename of the current file? + +You can use the :t filename modifier to get the basename of the current +file: + + :echo expand("%:t") + +For more information, read + + :help filename-modifiers + + +25.20. How do I get the output from a Vim function into the current buffer? + +You can insert the return value from a function using the following command +in insert mode: + + =MyFunc() + +Note that this will only insert the return value of the function. + +For more information, read + + :help i_CTRL-R + :help i_CTRL-R_CTRL-R + :help i_CTRL-R_CTRL-O + :help expression + + +25.21. How do I call external programs from a Vim function? + +There are several ways to call external programs from a Vim function. You +can use the builtin system() function to invoke external programs and get +the result: + + :let output = system("ls") + +You can also use "!" ex-command to run an external command. + +For more information, read + + :help system() + :help :! + :help 10.9 + + +25.22. How do I get the return status of a program executed using the ":!" + command? + +You can use the predefined Vim v:shell_error variable to get the return +status of the last run shell command. + +For more information, read + + :help v:shell_error + + +25.23. How do I determine whether the current buffer is modified or not? + +You can check the value of the 'modified' option to determine whether the +current buffer is modified: + + :set modified? + +From a Vim script, you can check the value of the 'modified' option: + + if &modified + echo "File is modified" + endif + +For more information, read + + :help 'modified' + + +25.24. I would like to use the carriage return character in a normal + command from a Vim script. How do I specify the carriage return + character? + +You can use the ":execute" command to specify the special (control) +character in a normal mode command: + + :execute "normal \" + :execute "normal ixxx\" + +For more information, read + + :help :execute + :help expr-quote + + +25.25. How do I split long lines in a Vim script? + +You can split long lines in a Vim script by inserting the backslash +character ("\") at the start of the next line. For example, + +For more information, read + + :help line-continuation + + +25.26. When I try to "execute" my function using the "execute 'echo + Myfunc()'" command, the cursor is moved to the top of the current + buffer. Why? + +The ":execute" command runs the normal mode command specified by the +argument. In the case of the following command: + + :execute "echo Myfunc()" + +The call to "echo Myfunc()" will return 0. The ":execute" command will run +the normal mode command "0", which moves the cursor to the top of the file. +To call a Vim function, you should use the ":call" command instead of the +":execute" command: + + :call Myfunc() + +For more information, read + + :help :call + :help :execute + :help :echo + :help user-functions + :help 41.5 + :help 41.6 + + +25.27. How do I source/execute the contents of a register? + +If you have yanked a set of Vim commands into a Vim register (for example +register 'a'), then you can source the contents of the register using one +of the following commands: + + :@a +or + :exe @a + +For more information, read + + :help :@ + + +25.28. After calling a Vim function or a mapping, when I press the 'u' + key to undo the last change, Vim undoes all the changes made by + the mapping/function. Why? + +When you call a function or a mapping, all the operations performed by the +function/mapping are treated as one single operation. When you undo the +last operation by pressing 'u', all the changes made by the +function/mapping are reversed. + +For more information, read + + :help undo-redo + :help map-undo + + +25.29. How can I call a function defined with s: (script local function) + from another script/plugin? + +The s: prefix for a Vim function name is used to create a script local +function. A script local function can be called only from within that +script and cannot be called from other scripts. To define a function in a +script/plugin, so that it can be called from other plugins/scripts, define +the function without the s: prefix. + +For more information, read + + :help script-variable + :help script-local + :help :scriptnames + + +25.30. Is it possible to un-source a sourced script? In otherwords, reverse + all the commands executed by sourcing a script. + +No. It is not possible to reverse or undo all the commands executed by +sourcing a script. + +For more information, read + + :help :source + + +============================================================================= + +SECTION 26 - PLUGINS + + +26.1. How do I set different options for different types of files? + +You can create filetype plugins to set different options for different +types of files. You should first enable filetype plugins using the command: + + :filetype plugin on + +A filetype plugin is a vim script that is loaded whenever Vim opens or +creates a file of that type. For example, to ensure that the 'textwidth' +option is set to 80 when editing a C program (filetype 'c'), create one of +the following files: + + ~/.vim/ftplugin/c.vim (Unix) + %HOME%\vimfiles\ftplugin\c.vim (Windows) + +with the following text in it: + + setlocal textwidth=80 + +You can also use autocommands to set specific options when editing specific +type of files. For example, to set the 'textwidth' option to 75 for only +*.txt files, you can use the following autocmd: + + autocmd BufRead *.txt setlocal textwidth=80 + +For more information, read + + :help filetype-plugin + :help add-filetype-plugin + :help autocmd + :help 40.3 + + +26.2. I have downloaded a Vim plugin or a syntax file or a indent file, or + a color scheme or a filetype plugin from the web. Where should I copy + these files so that Vim will find them? + +You can place the Vim runtime files (plugins, syntax files, indent files, +color schemes, filetype plugins, etc) under one of the directories +specified in the 'runtimepath' option. To determine the current value of +the 'runtimepath' option, use the following command: + + :set runtimepath + +For Unix systems, this is usally the "$HOME/.vim" directory. For MS-Windows +systems, this is usually the $VIM\vimfiles or $HOME\vimfiles directory. +Depending on the type of the runtime file, you have to place it under a +specific directory under the above runtime directory. The names of the +directories are listed below: + + colors/ - color scheme files + compiler/ - compiler files + doc/ - documentation + ftplugin/ - filetype plugins + indent/ - indent scripts + keymap/ - key mapping files + lang/ - menu translations + plugin/ - plugin scripts + syntax/ - syntax files + tutor/ - files for vimtutor + +For more information, read + + :help your-runtime-dir + :help 'runtimepath' + :help :runtime + + +26.3. How do I extend an existing filetype plugin? + +You can extend an existing filetype plugin by creating a file under either +the $VIMRTUNTIME/after/ftplugin or the $VIMRTUNTIME/ftplugin directory. The +name of the file should be the same as the name of the existing filetype +plugin file. You can place your additions to the new file. + +If you placed the file in the after/ftplugin runtime directory, then Vim +will first source the existing filetype plugin file and then will source +the new file. If you placed the file in the $VIMRTUNTIME/ftplugin runtime +directory, then Vim will first source the new file and then will source the +existing filetype plugin file. + +For more information, read + + :help ftplugin-overrule + :help filetype-plugin + :help add-filetype-plugin + :help 'runtimepath' + + +26.4. How do I turn off loading the Vim plugins? + +You can reset the 'loadplugins' option to turn off loading the plugins: + + :set noloadplugins + +You can also specify the "--noplugin" command line argument to stop loading +the plugins: + + $ vim --noplugin + +For more information, read + + :help 'loadplugins' + :help --noplugin + :help load-plugins + + +26.5. How do I turn on/off loading the filetype plugins? + +By default, Vim will not load the filetype plugins. You can configure Vim +to load filetype plugins using the command: + + filetype plugin on + +You can turn off loading the filetype plugins using: + + filetype plugin off + +For more information, read + + :help filetype-plugin-on + :help filetype-plugin-off + :help :filetype + + +26.6. How do I override settings made in a file type plugin in the global + ftplugin directory for all the file types? + +You can use an autocommand triggered on the FileType event: + + au Filetype * set formatoptions=xyz + +This should at least be after "filetype on" in your vimrc. Best is to put +it in your "myfiletypefile" file, so that it's always last. + +If you want to override a setting for a particular filetype, then create a +file with the same name as the original filetype plugin in the +~/.vim/after/ftplugin directory For example, to override a setting in the +c.vim filetype plugin, create a c.vim file in the ~/.vim/after/ftplugin +directory and add your preferences in this file. + +For more information, read + + :help ftplugin-overrule + :help ftplugins + :help myfiletypefile + + +26.7. How do I disable the Vim directory browser plugin? + +To disable the directory browsing Vim plugin, add the following line to +your .vimrc file: + + let loaded_explorer = 1 + +For more information, read + + :help file-explorer + + +26.8. How do I set the filetype option for files with names matching a + particular pattern or depending on the file extension? + +You can set the 'filetype' option for files with names matching a +particular pattern using an autocmd. For example, to set the 'filetype' +option to 'c' for all files with extension '.x', you can use the following +autocmd: + + autocmd! BufRead,BufNewFile *.x setfiletype c + +A better alternative to the above approach is to create a filetype.vim file +in the ~/.vim directory (or in one of the directories specified in the +'runtimepath' option) and add the following lines: + + " my filetype file + if exists("did_load_filetypes") + finish + endif + augroup filetypedetect + au! BufRead,BufNewFile *.x setfiletype c + augroup END + +For more information, read + + :help new-filetype + :help 43.2 + :help :setfiletype + + +============================================================================= + +SECTION 27 - EDITING PROGRAM FILES + + +27.1. How do I enable automatic indentation for C/C++ files? + +You can enable file-type based indentation using: + + :filetype indent on + +If you want to only enable automatic C indentation, then use: + + :set cindent + +For more information, read + + :help 'cindent' + :help C-indenting + :help filetype + + +27.2. How do I configure the indentation used for C/C++ files? + +You can configure the Vim C indentation by modifying the value of the +'cinoptions', 'cinkeys' and 'cinwords' options. + +For more information, read + + :help 'cindent' + :help 'cinoptions' + :help 'cinkeys' + :help 'cinwords' + :help C-indenting + :help cinoptions-values + :help 'smartindent' + + +27.3. How do I turn off the automatic indentation feature? + +By default, the automatic indentation is not turned on. You must have +configured Vim to do automatic indentation in either .vimrc or .gvimrc +files. You can disable automatic indentation using either, + + :filetype indent off + +or + + :set nocindent + +Also, check the setting for the following options: + + :set autoindent? + :set smartindent? + :set indentexpr? + +For more information, read + + :help 'cindent' + :help filetype-indent-off + :help 'autoindent' + :help 'smartindent' + :help 'indentexpr' + + +27.4. How do I change the number of space characters used for the automatic + indentation? + +You can modify the 'shiftwidth' option to change the number of space +characters used for the automatic indentation: + + :set shiftwidth=4 + +For more information, read + + :help 'shiftwidth' + + +27.5. I am editing a C program using Vim. How do I display the definition + of a macro or a variable? + +You can use the [d command to display the definition of a macro and the [i +command to display the definition of a variable. + +For more information, read + + :help [d + :help [i + :help include-search + :help 29.4 + :help 29.5 + + +27.6. I am editing a C program using Vim. How do I jump to the beginning or + end of a code block from within the block? + +You can use '[{' command to jump to the beginning of the code block and ']} +to jump to the end of the code block from inside the block. + +For more information, read + + :help [{ + :help ]} + :help various-motions + + +27.7. Is there a way to turn off the "//" comment auto-insertion behavior + for C++ files? If I'm sitting on a line beginning with "//", then I + open a new line above or below it, Vim automatically inserts new "//" + chars. + +You can modify the value of the 'comments' option to stop Vim from +inserting the C++ comment character ("//") automatically. For example: + + :set comments=sr:/*,mb:*,el:*/ + +For more information, read + + :help 'comments' + :help format-comments + + +27.8. How do I add the comment character '#' to a set of lines at the + beginning of each line? + +First, select the first character in all the lines using visual block mode +(CTRL-V). Press 'I' to start inserting characters at the beginning of the +line. Enter the comment character and then stop the insert mode by pressing +. Vim will automatically insert the entered characters at the +beginning of all the selected lines. + +For more information, read + + :help visual-block + :help blockwise-operators + :help v_b_I + + +27.9. How do I edit a header file with the same name as the corresponding C + source file? + +You can use the following command to edit a header file with the same name +as the corresponding C source file: + + :e %:t:r.h + +You can use the following command to edit the file in a new split window: + + :sp %:t:r.h + +In the above commands, the percent sign expands to the name of the current +file. The ":t" modifier extracts the tail (last component) of the +filename. The ":r" modifier extracts the root of the filename. The .h is +appended to the resulting name to get the header filename. + +Another approach is to use the following command: + + :sfind %:t:r.h + +This command will search for the header file in the directories specified +in the 'path' option. + +For more information, read + + :help cmdline-special + :help filename-modifiers + :help :sfind + :help 'path' + + +27.10. How do I automatically insert comment leaders while typing comments? + +To automatically insert comment leaders while typing comments, add the 'r' +and 'o' flags to the 'formatoptions' option. + + :set formatoptions+=ro + +You may also want to add the 'c' flag to auto-wrap comments using the +'textwidth' option setting and the 'q' flag to format comments with the +"gq" command: + + :set formatoptions=croq + +For more information, read + + :help 30.6 + :help format-comments + :help 'comments' + :help fo-table + + +============================================================================= + +SECTION 28 - QUICKFIX + + +28.1. How do I build programs from Vim? + +You can use the ":make" command to build programs from Vim. The ":make" +command runs the program specified by the 'makeprg' option. + +For more information, read + + :help 30.1 + :help make_makeprg + :help 'makeprg' + :help 'makeef' + :help :make + :help quickfix + + +28.2. When I run the make command in Vim I get the errors listed as the + compiler compiles the program. When it finishes this list disappears + and I have to use the :clist command to see the error message again. + Is there any other way to see these error messages? + +You can use the ":copen" or ":cwindow" command to open the quickfix window +that contains the compiler output. You can select different error lines +from this window and jump to the corresponding line in the source code. + +For more information, read + + :help :copen + :help :cwindow + :help quickfix + + +============================================================================= + +SECTION 29 - FOLDING + + +29.1. How do I extend the Vim folding support? + +You can use the 'foldexpr' option to fold using an user specified function. +For example, to fold subroutines of the following form into a single line: + + sub foo { + my $barf; + $barf = 3; + return $barf; + } + +You can use the following commands: + + set foldmethod=expr + set foldexpr=MyFoldExpr(v:lnum) + fun! MyFoldExpr(line) + let str = getline(a:line) + if str =~ '^sub\>' + return '1' + elseif str =~ '^}' + return '<1' + else + return foldlevel(a:line - 1) + endif + endfun + +For more information, read + + :help 'foldexpr' + :help fold-expr + + +29.2. When I enable folding by setting the 'foldmethod' option, all the + folds are closed. How do I prevent this? + +You can set the 'foldlevelstart' option to a particular value to close only +folds above the specified value. + + :set foldlevelstart=99 + +For more information, read + + :help 'foldlevelstart' + :help 'foldlevel' + :help fold-foldlevel + + +29.3. How do I control how many folds will be opened when I start editing a + file? + +You can modify the 'foldlevelstart' option to control the number of folds +that will be opened when you start editing a file. To start editing with +all the folds closed: + + :set foldlevelstart=0 + +To start editing with all the folds opened, you can use + + :set foldlevelstart=999 + +For more information, read + + :help 'foldlevelstart' + + +29.4. How do I open and close folds using the mouse? + +You can click on the + and - characters displayed at the leftmost column to +open and close fold. For this to work, you have to set the 'foldcolumn' +to a value greater than zero: + + :set foldcolumn=2 + +For more information, read + + :help 'foldcolumn' + + +29.5. How do I change the text displayed for a closed fold? + +You can use the 'foldtext' option to change the text displayed for a closed +fold. + +For more information, read + + :help 'foldtext' + :help fold-foldtext + :help 'fillchars' + + +29.6. How do I store and restore manually created folds across different + Vim invocations? + +You can use the ":mkview" command to store manually created folds. Later, +you can use the ":loadview" command to restore the folds. For this to work, +the 'viewoptions' must contain "folds". + +For more information, read + + :help 28.4 + :help :mkview + :help :loadview + :help 'viewoptions' + :help 'viewdir' + :help :mksession + :help 'sessionoptions' + + +============================================================================= + +SECTION 30 - VIM WITH EXTERNAL APPLICATIONS + + +30.1. Can I run a shell inside a Vim window? + +Currently Vim doesn't have support for running shell and other external +commands inside a Vim window. + +For more information, read + + :help shell-window + +Alternatively, you can try using the Unix "screen" utility or the 'splitvt' +program. + +You can also use the vimsh plugin by Brian Sturk to run a shell in a Vim +window. To use this you need to have Vim built with python support. For +more information visit the following URL: + + http://vim.sourceforge.net/scripts/script.php?script_id=165 + + +30.2. How do I pass the word under the cursor to an external command? + +You can use the special keyword to pass the word under the cursor +to an external command. For example: + + :!dict + +For more information, read + + :help + + +30.3. How do I get the output of a shell command into a Vim buffer? + +You can use the ":r !" command to get the output of a shell command into a +Vim buffer. For example, to insert the output of the "ls" shell command, +you can use the following command: + + :r !ls + +To insert the output of the shell command above the first line use the +following command: + + :0r !ls + +For more information, read + + :help :r! + + +30.4. How do I pipe the contents of the current buffer to an external + command and replace the contents of the buffer with the output from + the command? + +You can use the :! command to pipe the contents of the current buffer to a +external command and replace the contents of the buffer with the output +from the command. For example, to sort the contents of the current buffer, +using the Unix sort command, you can use the following command: + + :%!sort + +To sort only lines 10-20, you can use the following command + + :10,20!sort + +Also, if you want to pipe a buffer to an external command but not put the +results back in the buffer, you can use + + :w !sort + +The above command will pipe the entire buffer to the sort command. Note +that the space between the 'w' and the '!' is critical. To pipe only a +range of lines, you can use + + :10,20w !sort + +The above command will pipe the lines 10-20 to the sort command. + +For more information, read + + :help :range! + :help 10.9 + :help :w_c + + +30.5. How do I sort a section of my file? + +You can pipe a section of the file to the Unix "sort" utility to sort the +file. For example: + + :5,100!sort + +You can also use a visual block, and use the "!sort" command on the +selected block. + +To sort using visual blocks (sort based on a column or sort just the column +itself), read the following tip from the Vim online web page: + +http://vim.sourceforge.net/tips/tip.php?tip_id=588 + + +30.6. Is there a step-by-step guide for using Vim with slrn? + +Visit the following link to get information about using Vim with Slrn: + + http://thingy.apana.org.au/~fun/slrn/ + + +30.7. How do I use Vim as a pager? + +You can use Vim as a pager using the $VIMRUNTIME/macros/less.sh shell +script, supplied as part of the standard Vim distribution. This shell +script uses the $VIMRUNTIME/macros/less.vim Vim script to provide less like +key bindings. + +For more information, read + + :help less + + +30.8. How do I view Unix man pages from inside Vim? + +You can view Unix man pages, inside Vim, using the man.vim plugin supplied +as part of the standard Vim distribution. To use this plugin, add the +following line to your startup vimrc file: + + runtime ftplugin/man.vim + +You can also press the K key to run the program specified by the +'keywordprg' option with the keyword under the cursor. By default, +'keywordprg' is set to run man on the keyword under the cursor. + +For more information, read + + :help man-plugin + :help K + :help 'keywordprg' + + +30.9. How do I change the diff command used by the Vim diff support? + +By default, the Vim diff support uses the 'diff' command. You can change +this by changing the 'diffexpr' option. + +For more information, read + + :help diff-diffexpr + :help 'diffexpr' + + +30.10. How do I use the Vim diff mode without folding? + +You can use the following command-line to start Vim with two filenames +and use the diff mode without folding: + + $ vim -o file1 file2 "+windo set diff scrollbind scrollopt+=hor nowrap" + +If you like vertically split windows, then replace "-o" with "-O". + +For more information, read + + :help vimdiff + + +============================================================================= + +SECTION 31 - GUI VIM + + +31.1. How do I create buffer specific menus? + +Adding support for buffer specific menus is in the Vim TODO list. In the +mean time, you can try Michael Geddes's plugin, buffermenu.vim: + + http://vim.sourceforge.net/scripts/script.php?script_id=246 + + +31.2. How do I change the font used by GUI Vim? + +You can change the 'guifont' option to change the font used by GUI Vim. To +display the current value of this option, you can use + + :set guifont? + +You can add the displayed font name to the .vimrc file to use the font +across Vim sessions. For example, add the following line to the .vimrc file +to use Andale Mono font. + + set guifont=Andale_Mono:h10:cANSI + +For Win32, GTK and Photon version of Vim, you can use the following command +to bringup a dialog which will help you in changing the guifont: + + :set guifont=* + +You can also use the -font Vim command line option to specify the font used +for normal text. + +For more information, read + + :help 'guifont' + :help 'guifontset' + :help 'guifontwide' + :help font-sizes + :help -font + :help -boldfont + :help -italicfont + :help -menufont + :help -menufontset + + +31.3. When starting GUI Vim, how do I specify the location of the GVIM + window? + +You can use the "-geometry" command line argument to specify the location +of the GUI Vim window. For example: + + $ gvim -geometry 80x25+100+300 + +For more information, read + + :help 31.4 + :help -geom + + +31.4. How do I add a horizontal scrollbar in GVim? + +You can enable the horizontal scrollbar by modifying the 'guioptions' +option: + + :set guioptions+=b + +For more information, read + + :help 'guioptions' + :help gui-horiz-scroll + + +31.5. How do I make the scrollbar appear in the left side by default? + +You can add the 'l' flag to the 'guioptions' option to make the scrollbar +appear in the left side. + + :set guioptions+=l + :set guioptions-=r + +For more information, read + + :help 'guioptions' + :help gui-scrollbars + + +31.6. How do I remove the Vim menubar? + +You can remove the Vim menubar by removing the 'm' flag from the +'guioptions' option: + + :set guioptions-=m + +For more information, read + + :help 'guioptions' + + +31.7. I am using GUI Vim. When I press the ALT key and a letter, the menu + starting with that letter is selected. I don't want this behavior as + I want to map the ALT- combination. How do I do this? + +You can use the 'winaltkeys' option to disable the use of the ALT key to +select a menu item: + + :set winaltkeys=no + +For more information, read + + :help 'winaltkeys' + :help :simalt + + +31.8. Is it possible to scroll the text by dragging the scrollbar so that + the cursor stays in the original location? + +The way Vim is designed, the cursor position has to be in a visible spot in +normal, visual, select and insert mode. This cannot be changed without +modifying Vim. When the scrollbar is used, the cursor will be moved so that +it is always visible. Another approach to solving this problem is to use +the Vim marks. You can mark the current cursor position using ma. Then +scroll to a different part of the text and jump back to the old position +using `a. You can also try the following suggestion from the Vim Online +website: + + http://www.vim.org/tip_view.php?tip_id=320 + +For more information, read + + :help mark-motions + + +31.9. How do I get gvim to start browsing files in a particular directory + when using the ":browse" command? + +You can set the 'browsedir' option to the default directory to use for the +":browse" command. + + :set browsedir='' + +For more information, read + + :help 'browsedir' + + +31.10. For some questions, like when a file is changed outside of Vim, Vim + displays a GUI dialog box. How do I replace this GUI dialog box with + a console dialog box? + +You can set the 'c' flag in the 'guioptions' option to configure Vim to use +console dialogs instead of GUI dialogs: + + :set guioptions+=c + +For more information, read + + :help 'guioptions' + + +31.11. I am trying to use GUI Vim as the editor for my xxx application. + When the xxx application launches GUI Vim to edit a file, the + control immediately returns to the xxx application. How do I start + GUI Vim, so that the control returns to the xxx application only + after I quit Vim? + +You have to start GUI Vim with the '-f' (foreground) command line option: + + $ gvim -f + +By default, GUI Vim will disconnect from the program that started Vim. With +the '-f' option, GUI Vim will not disconnect from the program that started +it. + +For more information, read + + :help gui-fork + :help -f + + +31.12. Why does the "Select Font" dialog doesn't show all the fonts + installed in my system? + +Vim supports only fixed width (mono-spaced) fonts. Proportional fonts are +not supported. In the "Select Font" dialog, only fixed width fonts will be +displayed. + +For more information, read + + :help font-sizes + :help 'guifont' + + +31.13. How do I use the mouse in Vim command-line mode? + +You can set the 'c' flag in the 'mouse' option to use mouse in the Vim +command-line mode: + + :set mouse+=c + +For more information, read + + :help mouse-using + :help gui-mouse + :help 09.2 + + +31.14. When I use the middle mouse button to scroll text, it pastes the + last copied text. How do I disable this behavior? + +You can map the middle mouse button to to disable the middle mouse +button: + + :map + :map! + +For more information, read + + :help gui-mouse-mapping + :help + + +31.15. How do I change the location and size of a GUI Vim window? + +You can use the "winpos" command to change the Vim window position. To +change the size of the window, you can modify the "lines" and "columns" +options. + +For example, the following commands will position the GUI Vim window at the +X,Y co-ordinates 50,50 and set the number of lines to 50 and the number of +columsn to 80. + + :winpos 50 50 + :set lines=50 + :set columns=80 + +The arguments to the 'winpos' command specify the pixel co-ordinates of the +Vim window. The 'lines' and 'columns' options specify the number of lines +and characters to use for the height and the width of the window +respectively. + +For more information, read + + :help 31.4 + :help :winpos + :help 'lines' + :help 'columns' + :help GUIEnter + + +============================================================================= + +SECTION 32 - VIM ON UNIX + + +32.1. I am running Vim in a xterm. When I press the CTRL-S key, Vim + freezes. What should I do now? + +Many terminal emulators and real terminal drivers use the CTRL-S key to +stop the data from arriving so that you can stop a fast scrolling display +to look at it (also allowed older terminals to slow down the computer so +that it did not get buffer overflows). You can start the output again by +pressing the CTRL-Q key. + +When you press the CTRL-S key, the terminal driver will stop sending the +output data. As a result of this, it will look like Vim is hung. If you +press the CTRL-Q key, then everything will be back to normal. + +You can turn off the terminal driver flow control using the 'stty' command: + + $ stty -ixon -ixoff + +or, you can change the keys used for the terminal flow control, using the +following commands: + + $ stty stop + $ stty start + + +32.2. I am seeing weird screen update problems in Vim. What can I do to + solve this screen/display update problems? + +You have to use a proper terminal emulator like xterm with correct TERM +settings (TERM=xterm) and a correct terminfo/termcap file. +For more information, read + + :help 'term' + + +32.3. I am using the terminal/console version of Vim. In insertmode, When I + press the backspace key, the character before the cursor is not + erased. How do I configure Vim to do this? + +You have to make sure that Vim gets the correct keycode for the backpspace +key. You can try using the command: + + :fixdel + +Make sure the TERM environment variable is set to the correct terminal +name. You can try using the 'stty' command: + + $ stty erase ^H + +where, you have to enter the ^H character by pressing the CTRL-V key and +then the CTRL-H key. + +For more information, read + + :help :fixdel + :help Linux-backspace + :help NetBSD-backspace + + +32.4. I am using Vim in a xterm. When I quit Vim, the screen contents are + restored back to the original contents. How do I disable this? + +The xterm has a capability called "alternate screen". If this capability +is present, vim switches to that alternate screen upon startup and back on +exit, thus restoring the original screen contents. To disable this +feature, add the following line to your .vimrc file: + + :set t_ti= t_te= + +For more information, read + + :help restorescreen + :help xterm-screens + + +32.5. When I start Vim, it takes quite a few seconds to start. How do I + minimize the startup time? + +This may be related to Vim opening the X display for setting the xterm +title and using the X clipboard. Make sure the DISPLAY variable is set to +point to the correct host. Try using the command line: + + $ vim -X + +This will prevent Vim from opening the X display. With this command-line +option, the X clipboard cannot be used and also Vim will not be able to +change the xterm title. + +You can also set the 'clipboard' option to + + :set clipboard=exclude:.* + +This has the same effect as using the -X command-line argument. + +For more information, read + + :help -X + :help 'clipboard' + + +32.6. How can I make the cursor in gvim in unix stop blinking? + +You can modify the 'guicursor' option, to stop the cursor from blinking. +For example: + + :set guicursor=a:blinkon0 + +For more information, read + + :help 'guicursor' + + +32.7. How do I change the menu font on GTK Vim? + +You can modify the ~/.gtkrc file to change the menu font on GTK Vim. For +example: + + style "default" + { font ="smooth09" } + class "*" style "default" + +The last line changes the font of all widgets. + +For more information, read + + :help gui-gtk + + +32.8. How do I prevent from suspending Vim? + +You can map to prevent the suspending. Here are some suggestions: + +- Make do nothing: + + :map + +- Make start a shell: + + :map :shell + +- Make give an error message: + + :map :"suspending disabled + +For the last example, the double quote is necessary in order to keep the +message on the status line. + + +32.9. When I kill the xterm running Vim, the Vim process continues to run + and takes up a lot of CPU (99%) time. Why is this happening? + +When Vim is built with support for Python interface, you will have this +problem. This is a known problem with the python thread library and Vim. To +solve this problem, use a Vim binary built without the Python interface. + +For more information, read + + :help +python + :help python + + +32.10. How do I get the Vim syntax highlighting to work in a Unix terminal? + +The easiest and simplest way to get Vim syntax highlighting is to use the +GUI version of Vim (GVIM). To get syntax highlighting to work in the +console/terminal version of Vim, you have to run a terminal emulator (like +Xfree86 xterm or rxvt or dtterm) that supports color. Note that if a +terminal emulator supports changing the background and foreground colors, +that does not mean that it also supports ANSI escape sequences for changing +the color. You can download the latest version of Xfree86 xterm from +http://dickey.his.com/xterm/xterm.html. You can download the latest version +of rxvt from http://www.rxvt.org. You have to install the terminfo/termcap +file that supports colors for the terminal emulator. Also, set the TERM +environment variable to the correct name of the term that supports colors. + +You can use the colortest.vim script supplied with the Vim runtime +package to test the color setup. To use this script, follow these steps: + + :e $VIMRUNTIME/syntax/colortest.vim + :source % + +For more information, read + + :help 06.2 + :help terminal-colors + :help termcap-colors + :help startup-terminal + :help xterm-color + :help colortest.vim + + +============================================================================= + +SECTION 33 - VIM ON MS-WINDOWS + + +33.1. In MS-Windows, CTRL-V doesn't start the blockwise visual mode. What + happened? + +The mswin.vim script provides key mappings and options to make Vim behave +like a MS-Windows application. One of the keys mapped is CTRL-V which is +used for pasting text in MS-Windows applications. This will disable the use +of CTRL-V to start the blockwise visual mode. The mswin.vim script maps +CTRL-Q for staring the blockwise visual mode. So you can use CTRL-Q instead +of CTRL-V. + +For more information, read + + :help CTRL-V + :help CTRl-V-alternative + :help CTRL-Q + :help 10.5 + + +33.2. When I press the CTRL-Y key, it acts like the CTRL-R key. How do I + configure Vim to treat CTRL-Y as CTRL-Y? + +The mapping of the CTRL-Y key to the CTRL-R key is done by the mswin.vim +script. The mswin.vim script maps CTRL-Y to make Vim behave like a standard +MS-Windows application. This is explained in ":help CTRL-Y". You can either +comment out the line in mswin.vim that maps the CTRL-Y key or you can +remove the line in your .vimrc file that sources the mswin.vim script. + + +33.3. How do I start GUI Vim in a maximized window always? + +You can use the "simalt" command to maximize the Vim window. You can use +the GUIEnter autocmd to maximize the Vim window on startup: + + autocmd GUIEnter * simalt ~x + +For more information, read + + :help :simalt + :help GUIEnter + :help gui-win32-maximized + + +33.4. After doing some editing operations, Vim freezes. The cursor becomes + an empty rectangle. I am not able enter any characters. What is + happening? + +Most probably, you used the mouse wheel to scroll the text in Vim. There is +a known problem in using intellimouse mouse wheel with Vim. To avoid this +problem, disable Universal scrolling support for Vim. + +For more information, read + + :help intellimouse-wheel-problems + + +33.5. I am using Windows XP, the display speed of maximized GVim is very + slow. What can I do to speed the display updates? + +This may be due to the fact that you have enabled 'Smooth edges of screen +fonts' in the display properties. Try turning off font smoothing or try +changing the smoothing method to "Standard". + + +33.6. What are the recommended settings for using Vim with cygwin? + +You may want to set the following shell related Vim settings: + + :set shellcmdflag=-c + :set shellquote= + :set shellslash " Use the forward slash for expansion. + :set shellxquote=\" + :set shell=d:\cygwin\bin\bash.exe " Use the bash shell + :set shellpipe=2>&1| tee + :set shellredir=>%s 2>&1 + + +33.7. I am trying to use GNU diff with Vim diff mode. When I run the diff + from command line, it works. When I try to use the diff with Vim it + doesn't work. What should I do now? + +There is a problem with using GNU diff with Vim. You can try using the +GNU diff.exe built by Ron Aaron from the following link: + + http://www.mossbayeng.com/~ron/vim/builds.html + + +33.8. Is it possible to use Vim as an external editor for MS-Windows + Outlook email client? + +You can use the "cubiclevim" COM Add-In to use Vim as an external editor +for MS-Windows Outlook email client. Visit the following URL for more +information: + + http://sourceforge.net/projects/cubiclevim + +Note that currently this works only with MS-Office 2000 and XP. + + +33.9. I am using Vim to edit HTML files. How do I start internet explorer + with the current file to preview the HTML file? + +You can use the following command: + + :!start c:\progra~1\intern~1\iexplore.exe file://%:p + + +33.10. I would like to use Vim with Microsoft Visual Studio. How do I do + this? + +You have to download and use the OLE version of Vim (for example: +gvim61ole.zip). This file also contains instructions on how to use Vim with +Visual Studio. + +For more information, read + + :help MSVisualStudio + + +33.11. Where do I place the _vimrc and _gvimrc files? + +You can place the _vimrc and _gvimrc files under the directory pointed to +by the VIM environment variable. If you are sharing this system with other +users, then you can place the files in a directory and set the HOME +environment variable to this directory. + +For more information, read + + :help $HOME-use + :help _vimrc + + +33.12. Everytime I save a file, Vim warns about the file being changed + outside of Vim. Why? + +If you get the following warning message, everytime you save a file: + + WARNING: The file has been changed since reading it!!! + Do you really want to write to it (y/n)? + +then this problem could be related to a bug in MS-Windows on the day +daylight saving time starts. Vim remembers the timestamp of the file after +it was written. Just before the next write the timestamp is obtained again +to check if the file was changed outside of Vim. This works correctly, +except on the day daylight saving time starts. + +This problem will go away the next day after the day the daylight saving +time starts. + +For more information, read + + :help W11 + + +============================================================================= + +SECTION 34 - PRINTING + + +34.1. How do I print a file along with line numbers for all the lines? + +You can set the 'printoptions' option and use the ":hardcopy" command to +print your file: + + :set printoptions=number:y + :hardcopy + +For more information, read + + :help 'printoptions' + :help :hardcopy + + +34.2. How do I print a file with the Vim syntax highlighting colors? + +You can use the ":hardcopy" command to print a file with the Vim syntax +highlighting colors. You can also convert your file to a HTML file using +the 2html.vim script and print the HTML file. + +For more information, read + + :help syntax-printing + :help 2html.vim + :help :hardcopy + :help printing + + +============================================================================= + +SECTION 35 - BUILDING VIM FROM SOURCE + + +35.1. How do I build Vim from the sources on a Unix system? + +For a Unix system, follow these steps to build Vim from the sources: + +- Download the source and run-time files archive (vim-##.tar.bz2) from the + ftp://ftp.vim.org/pub/vim/unix directory. +- Extract the archive using the bzip2 and tar utilities using the command: + + $ bunzip2 -c | tar -xf - + +- Run the 'make' command to configure and build Vim with the default + configuration. +- Run 'make install' command to install Vim in the default directory. + +To enable/disable various Vim features, before running the 'make' command +you can run the 'configure' command with different flags to include/exclude +the various Vim features. To list all the available options for the +'configure' command, use: + + $ configure -help + +For more information, read + + :help install + + +35.2. How do I install Vim in my home directory or a directory other + than the default installation directory in Unix? + +To install Vim in a directory other than the default installation +directory, you have to specify the directory using the --prefix option +while running the configure script. + + $ ./configure --prefix=/users/xyz + +You can enable/disable various Vim feature by supplying different arguments +to the configure script. For more information about all these options, run + + $ ./configure --help + +For more information, read + + :help install-home + :help install + + +35.3. How do I build Vim from the sources on a MS-Windows system? + +For a MS-Windows system, Vim can be built using either the Visual C++ +compiler or the Borland C++ compiler or the Ming GCC compiler or the cygwin +gcc compiler. Follow these steps to build Vim from the sources for +MS-Windows: + +- Download the source (vim##src.zip), runtime (vim##rt.zip) and the extra + (vim-##-extra.tar.gz) archives from the ftp://ftp.vim.org/pub/vim/pc + directory. +- Extract the archives into a directory (for example, c:\vimsrc) +- Depending on the installed compiler, you can use the corresponding + makefile to build the Vim sources. For Visual C++ use the Make_mvc.mak + makefile, for borland C++ use the Make_bc5.mak makefile, for ming GCC use + the Make_ming.mak makefile, for cygwin gcc use the Make_cyg.mak makefile. + +Depending on whether you want to build the GUI version of Vim or the +console version of Vim, you have to pass different arguments to the +makefiles. After successfully building the sources, you can copy the +vim.exe or gvim.exe file to the desired directory along with the files from +the runtime archive. + +You can visit the following site for extensive information about building +Vim on a MS-Windows system using the various compilers: + + http://mywebpage.netscape.com/SharpPeople/vim/howto/index.html + +For more information, read + + :help install + + +35.4. The Vim help, syntax, indent files are missing from my Vim + installation. How do I install these files? + +The Vim help, syntax, indent and other runtime files are part of the Vim +runtime package. You need to download and install the Vim runtime package. +For example, for MS-Windows, the name of the Vim 6.1 runtime package is +vim61rt.zip. + +For more information, read + + :help install + + +35.5. I have built Vim from the source and installed the Vim package using + "make install". Do I need to keep the Vim source directory? + +No. Once you have built and installed Vim in some directory other than the +original source directory (for example, /usr/bin or /usr/local/bin), then +you can remove the source directory. + + +35.6. How do I determine the Vim features which are enabled at compile + time? + +You can use the ":version" command to determine the Vim features that are +enabled at compile time. The features that are enabled will be prefixed +with a "+". The features that are not enabled will be prefixed with a "-". + +If you want to test for a feature in a script, you can use the has() +function: + + if has("menu") + " Set up some menus + endif + +For more information, read + + :help :version + :help +feature-list + :help has() + + +35.7. Can I build Vim without the GUI support? + +Yes. You can build Vim by optionally enabling/disabling many of the +features including GUI. + +For more information, read + + :help install + + +35.8. When building Vim on a Unix system, I am getting "undefined reference + to term_set_winsize' error. How do I resolve this error? + +You will get this error when the build process is not able to locate the +termlib, termcap or ncurses library. You have to install the ncurses-dev +package to resolve this error. + + +35.9. Vim configure keeps complaining about the lack of gtk-config while + trying to use GTK 2.03. This is correct, since in GTK 2 they moved to + using the generic pkg-config. I can get pkg-config to list the + various includes and libs for gtk, but for some reason the configure + script still isn't picking this up. + +Use the following shell script named gtk-config: + + #!/bin/sh + pkg-config gtk+-2.0 $1 $2 + + +============================================================================= + +SECTION 36 - VARIOUS + + +36.1. How do I edit binary files with Vim? + +You can set the following options to edit binary files in Vim: + + :set binary + :set display=uhex + +You can also use the "-b" command-line option to edit a binary file: + + $ vim -b + +You can also use the xxd utility (part of the Vim distribution) to edit +binary files. + +For more information, read + + :help 23.4 + :help edit-binary + :help hex-editing + :help -b + :help 'binary' + :help 'endofline' + :help 'display' + + +36.2. How do I disable the visual error flash and the error beep? + +You can disable both the visual error flash and the error beep using the +following command: + + :set visualbell t_vb= + +For more information, read + + :help 'visualbell' + :help 'errorbells' + :help t_vb + + +36.3. How do I display the ascii value of a character displayed in a + buffer? + +You can use the 'ga' command to display the ascii value of a displayed +character. + +For more information, read + + :help ga + :help :ascii + + +36.4. Can I use zero as a count for a Vim command? + +You cannot use zero as a count for a Vim command, as "0" is a command on +its own, moving to the first column of the line. + +For more information, read + + :help 0 + :help count + + +36.5. How do I disable the Vim welcome screen? + +You can disable the Vim welcome screen, by adding the 'I' flag to the +'shortmess' option: + + :set shortmess+=I + +For more information, read + + :help :intro + :help 'shortmess' + + +36.6. How do I avoid the "hit enter to continue" prompt? + +Vim will prompt you with the "hit enter to continue" prompt, if there are +some messages on the screen for you to read and the screen is about to be +redrawn. You can add the 'T' flag to the 'shortmess' option to truncate +all messages. This will help in avoiding the hit-enter prompt: + + :set shortmess+=T + +You can also increase the command height by setting the 'cmdheight' option: + + :set cmdheight=2 + +For more information, read + + :help hit-enter + :help avoid-hit-enter + :help 'shortmess' + :help 'cmdheight' + + +36.7. How do I invoke Vim from command line to run a group of commands on a + group of files? + +There are several ways to invoke Vim from command line to run a group of +commands on a group of files. You can use a set of "-c" command line +options to specify a group of commands: + + $ vim -c "" -c "" *.txt + +Each of the ex-command specified with the "-c" command line option is +executed one by one sequentially. You can also use a single "-c" command +line option and the "|" character to separate the ex commands: + + $ vim -c " | " *.txt + +In the above command, if an ex command fails, then all the remaining ex +commands will not be executed. + +For example, to replace "ABC" with "DEF" in a file from the command-line, +you can use the following command: + + $ vim -c "%s/ABC/DEF/ge | update" myfile.txt + +To replace "ABC" with "DEF" in multiple files from the command-line, +you can use the following command: + + $ vim -c "argdo %s/ABC/DEF/ge | update" *.txt + +You can store the group of commands into a file and use the "-s" command +line option to run the commands on a set of files. For example, if the +group of commands are stored in the file mycmds.txt, then you can use the +following command: + + $ vim -s mycmds.txt *.pl + +For more information, read + + :help -c + :help -s + + +36.8. How do I use a normal mode command from insert mode without leaving + the insert mode? + +You can use a normal command from insert mode, without leaving the insert +mode, by first pressing the CTRL-O key and then follow that with a single +normal mode command. + +To execute more than one normal mode command, press the CTRL-L key, +followed by any number of normal mode commands and then press to get +back to the insert mode. + +For more information, read + + :help i_CTRL-O + :help i_CTRL-L + + +36.9. How do I start Vim in insert mode? + +You can start Vim in insert mode using the ":startinsert" ex command. + + $ vim +startinsert myfile.txt + +The above command will open the file "myfile.txt" and start insert mode +with the cursor in front of the first character on the first line. To open +the file and start appending after the last character on the last line, +you can use the following command: + + $ vim + +startinsert! myfile.txt + +For more information, read + + :help :startinsert + + +============================================================================= + +SECTION 37 - UNICODE +Author: Tony Mechelynck + + +37.1. Is it possible to create Unicode files using Vim? + +Yes. It may be more or less complicated depending on the keyboard and fonts +available to you, but it is always possible to encode any possible Unicode +codepoint (and some illegal ones) into a file. To create a Unicode file +using Vim, you should have compiled Vim with the "+multi_byte" compile-time +option. You can get more information about Unicode from the following +sites: + + http://www.unicode.org + http://www.cl.cam.ac.uk/~mgk25/unicode.html + +For more information, read + + :help multibyte + :help usr_45.txt + + +37.2. Which Vim settings are particularly important for editing Unicode + files? + +The most important are the various "encoding" options, i.e., 'encoding', +'fileencoding', 'fileencodings' and 'termencoding'. The boolean option +'bomb' is also significant. + +For more information, read + + :help 'encoding' + :help 'fileencoding' + :help 'fileencodings' + :help 'termencoding' + :help 'bomb' + + +37.3. What is the 'encoding' option? + +Basically, the 'encoding' option defines how Vim will represent your data +internally. However, all Unicode encodings are represented internally as +utf-8 and converted (if necessary) when reading and writing. + +For more information, read + + :help 'encoding' + + +37.4. How does Vim name the various Unicode encodings? + +Utf-8 is called utf-8 or utf8; utf-16 is called ucs-2 or ucs2; utf-32 is +called ucs-4 or ucs4. Also, you may specify endianness (except for utf-8 +which does not vary for endianness) by appending le for little-endian or be +for big-endian. If you create a file with an encoding of ucs-2 or ucs-4 +without specifying endianness, Vim will use what is typical of your +machine. + +For more information, read + + :help encoding-names + :help encoding-values + :help encoding-table + + +37.5. How does Vim specify the presence or absence of a byte-order mark? + +When reading a file, if the 'fileencodings' option includes "ucs-bom", Vim +will check for a byte-order mark. When writing a file, if the 'bomb' option +is set, Vim will write a byte-order mark on files whose encoding warrants +it. + +For more information, read + + :help 'fileencodings' + :help 'bomb' + + +37.6. What is the 'fileencoding' option? + +The 'fileencoding' option defines the particular encoding which Vim will +use to write a file. If empty, then the value of the 'encoding' option is +the default. + +For more information, read + + :help 'fileencoding' + + +37.7. What is the 'fileencodings' option? + +The 'fileencodings' option defines the heuristics used by Vim when opening +an existing file. It is a comma separated list of encodings. A special +name, "ucs-bom" is used to indicate that Vim should check for the presence +of a byte-order mark; however, it will not be recognised if it comes after +"utf-8". Normally, "ucs-bom" (if present) should be first in the list. + +When Vim opens a file, it checks it against the encodings listed in +'fileencodings'. The first one that matches is used. If there is no match, +then Vim sets 'fileencoding' to the null string, i.e., the value of +'encoding' will be used. + +For more information, read + + :help 'fileencodings' + :help 'encoding' + + +37.8. What is the 'termencoding' option? + +The 'termencoding' option defines how your keyboard encodes the data you +type. If empty, Vim assumes that it has the same value as 'encoding'. +Usually it should be set to something that matches your locale. + +For more information, read + + :help 'termencoding' + :help locale + + +37.9. What is the 'bomb' option? + +When reading a file with "ucs-bom" present in the 'fileencodings' option, +Vim will set the 'bomb' option on or off depending on the presence or +absence of a byte-order mark at the start of the file. When writing, Vim +will write a byte-order mark if the 'bomb' option is set. You may set or +unset it manually do make Vim write, or not write, the b.o.m. + +For more information, read + + :help 'bomb' + + +37.10. Where can I find an example of a typical use of all these options? + +There is a "tip", with explains them in different words with an example, at +http://vim.sourceforge.net/tip_view.php?tip_id=246 . + + +37.11. How can I insert Unicode characters into a file using Vim? + +Several methods are available: + +- Characters present on your keyboard can be typed in the usual way, even + those which require a "dead-key" prefix, like (for instance) the + circumflex on French keyboards. +- Characters for which a digraph is defined can be typed as two characters + prefixed by . +- If you have set the 'digraph' option, you can enter the characters for + which a digrph is defined as . +- Any character can be entered by using a prefix (or if + is remapped to paste from the clipboard). + +For more information, read + + :help digraphs + :help 'digraph' + :help i_CTRL-V_digit + + +37.12. How can I know which digraphs are defined and for which characters? + +First set the 'encoding' option properly (for instance, to utf-8), then use +the :digraphs command to list the currently defined digraphs. + +For more information, read + + :help :digraphs + :help 'encoding' + + +============================================================================= + +Current Maintainer: Yegappan Lakshmanan +Last updated on: 2 January 2005 + diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 0000000..51c7c4b --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,15 @@ +vim (2:8.0.0022-1) unstable; urgency=medium + + Vim now ships with a defaults.vim file which, when the user has no vimrc, + enables some options that have historically been disabled by default. This + is described in more detail at ":help defaults.vim". + + Since defaults.vim is loaded when the user's vimrc would typically be + loaded, it will override any settings in /etc/vim/vimrc(.local). In order + to disable the loading of defaults.vim, add + + let g:skip_defaults_vim = 1 + + to /etc/vim/vimrc(.local). + + -- James McCoy Tue, 04 Oct 2016 20:28:02 -0400 diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..64a577e --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,56 @@ +Vim for Debian +--------------- + +1. The current Debian Vim scripts policy can be found in the vim-doc package + under /usr/share/doc/vim and . + +2. Before reporting bugs, check if the bug also exists if you run vim + with "vim --clean". If not, make sure that the "bug" is not + a result of a setting in your ~/.vimrc before reporting it. + +defaults.vim +------------ + +Vim provides $VIMRUNTIME/defaults.vim to improve the default Vim experience for +a user with no vimrc file. It enables commonly useful functionality that +wasn't historically enabled by default, like syntax highlighting and filetype +plugins. + +However, the defaults.vim script is ONLY loaded when a user does NOT have their +own vimrc file. If you create a vimrc file and want to build on top of +defaults.vim, add these lines to the top of your vimrc file: + + unlet! g:skip_defaults_vim + source $VIMRUNTIME/defaults.vim + +When defaults.vim is loaded implicitly for a user, that happens _after_ the +system vimrc file has been loaded. Therefore, defaults.vim will override +settings in the system vimrc. To change that, one can either + +a) Explicitly load defaults.vim in the system vimrc, as described above, and + then define your customizations +b) Explicitly opt out of defaults.vim by adding the line below to + the system vimrc + + let g:skip_defaults_vim = 1 + +Modeline support disabled by default +------------------------------------ + +Modelines have historically been a source of security/resource vulnerabilities +and are therefore disabled by default in $VIMRUNTIME/debian.vim. + +You can enable them in ~/.vimrc or /etc/vim/vimrc with "set modeline". + +In order to mimic Vim's default setting (modelines disabled when root, enabled +otherwise), you may instead want to use the following snippet: + + if $USER != 'root' + set modeline + else + set nomodeline + endif + +The securemodelines script from vim.org (and in the vim-scripts package) may +also be of interest as it provides a way to whitelist exactly which options +may be set from a modeline. diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..f4d85a1 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,41 @@ +If you are reading this from a Debian source package, you can stop now; +this package should build normally after extracting with dpkg-source -x. +The rest of this file gives some hints about generating source packages +from the packaging git repository. + +This repository maintains patches to upstream source using gbp-pq. These +patches are serialized to debian/patches/. + +In order to modify an existing patch, simply run “gbp pq import”. This will +create a local branch with the commits that were used to create the patches. +Edit or amend the commits as necessary. + +In order to create a new patch, switch to the patch using “gbp pq import” as +before. If a patch file exists, use “gbp pg apply --topic={upstream,debian} +patchfile” to apply the patch (works like “git am”). If the patch is intended +to be upstreamed, it should be applied before any Debian-specific patches and +use the "upstream" topic. Alternatively, if the patch is not intended to be +upstreamed, it should use the "debian" topic and be applied after any upstream +patches. + +When updating to a new version of upstream code, the patches need to be rebased +on the new upstream code. The process is + +* Create the patch-queue branch -- gbp pq import +* Switch back to the packaging branch -- gbp pq switch +* Merge the upstream tag -- git merge vX.Y.ZZZZ +* Rebase the patches -- gbp pq rebase + * Make any adjustments/fixups, as necessary +* Switch back to the packaging branch -- gbp pq switch +* Export the patches -- gbp pq export + +Whenever the patch queue branch is modified, those changes need to be exported +back to the packaging branch. “gbp pq switch” will change from the patch queue +branch to the packaging branch. At that point, “gbp pq export” will update +debian/patches/ with the current state of the patch queue. This needs to be +commited just like any other change. + +There are hooks setup in the git repo to avoid pushing the patch queue +branches, but it's also wise to remove the local branch when done with the +changes. The repository's configuration is set to delete the branch +automatically after running “gbp pq export” in order to help enforce this. diff --git a/debian/bug-presubj b/debian/bug-presubj new file mode 100644 index 0000000..87c3e13 --- /dev/null +++ b/debian/bug-presubj @@ -0,0 +1,6 @@ +Before filing a bug, please ensure that your configuration is not the cause of +the bug. At the very least, this can help narrow down exactly where the bug +exists or what option is causing the behavior. + +Start Vim with the "--clean" option and provide specific steps on reproducing +the bug from there. diff --git a/debian/bug-script b/debian/bug-script new file mode 100644 index 0000000..58911de --- /dev/null +++ b/debian/bug-script @@ -0,0 +1,8 @@ +#!/bin/sh + +printf "\n--- real paths of main Vim binaries ---\n" >&3 +for f in vi vim gvim; do + if [ -L "/usr/bin/$f" ]; then + printf "/usr/bin/$f is $(readlink -f /usr/bin/$f)\n" >&3 + fi +done diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..101999b --- /dev/null +++ b/debian/changelog @@ -0,0 +1,7338 @@ +vim (2:9.0.1378-2) unstable; urgency=medium + + * Backport 9.0.1499 to fix CVE-2023-2426 (Closes: #1035323) + * Backport fix for indenting of Perl subroutines (Closes: #1034529) + + -- James McCoy Thu, 04 May 2023 06:24:44 -0400 + +vim (2:9.0.1378-1) unstable; urgency=medium + + * Merge upstream patch v9.0.1378 + + Vulnerability fixes + - 9.0.1143: Invalid memory access with bad 'statusline' value, + CVE-2023-0049 + - 9.0.1144: Reading beyond text, CVE-2023-0051 + - 9.0.1145: Invalid memory access with recursive substitute expression, + (Closes: #1031875, CVE-2023-0054) + - 9.0.1189: Invalid memory access with folding and using "L", + CVE-2023-0288 + - 9.0.1225: Reading past the end of a line when formatting text, + CVE-2023-0433 + - 9.0.1247: Divide by zero with 'smoothscroll' set and a narrow window, + CVE-2023-0512 + - 9.0.1367: Divide by zero in zero-width window, CVE-2023-1127 + - 9.0.1376: Accessing invalid memory with put in Visual block mode, + CVE-2023-1170 + + 9.0.1073, 9.0.1080: Fix keyboard input/mapping support for some + terminals (e.g., foot and kitty). (Closes: #1029049) + + 9.0.1213: Fix inconsistent behavior when adding text after a fold at the + end of the buffer (Closes: #868252) + + syntax/2html.vim: Fix reference to undefined s:settings_no_doc variable + (Closes: #1030151) + + syntax/debcontrol.vim, syntax/debsources.vim: Add support for + non-free-firmware. (Closes: #1029986) + + -- James McCoy Sat, 04 Mar 2023 14:41:33 -0500 + +vim (2:9.0.1000-4) unstable; urgency=medium + + * Backport patch to fix tests on IPv6-only hosts (Closes: #1027824) + + -- James McCoy Tue, 10 Jan 2023 22:16:36 -0500 + +vim (2:9.0.1000-3) unstable; urgency=medium + + * Fix substitution of VIMCUR in vim-common.install (Closes: #1027766) + * Backport v9.0.1129 to fix sporadic Test_range failure + + -- James McCoy Tue, 03 Jan 2023 10:15:51 -0500 + +vim (2:9.0.1000-2) unstable; urgency=medium + + * Restore man page translations for da, de, and ja (Closes: #1027318) + * Update to debhelper-compat 13 + * Remove obsolete maintscript files for versions earlier than oldstable + * Remove PER_VARIANT_FILES handling in debian/rules + * Add future=+lfs to DEB_BUILD_MAINT_OPTIONS + * Backport v9.0.1118 to fix sporadic test failures + * ci: Run tests against installed xxd + * ci: Install python3 for vim tests + * Backport v9.0.1117 to fix bracketed paste with new ncurses + (Closes: #1027674) + + -- James McCoy Mon, 02 Jan 2023 06:31:55 -0500 + +vim (2:9.0.1000-1) unstable; urgency=medium + + * Merge upstream patch v9.0.1000 + + Security fixes + - 9.0.0882: using freed memory after SpellFileMissing autocmd uses + bwipe, CVE-2022-4292 + - 9.0.0947: invalid memory access in substitute with function that goes + to another file (Closes: #1027146, CVE-2022-4141) + * Backport v9.0.1087 to fix test_autocmd flakiness + + -- James McCoy Wed, 28 Dec 2022 11:51:10 -0500 + +vim (2:9.0.0813-1) unstable; urgency=medium + + * Merge upstream patch v9.0.0813 + + syntax/markdown.vim: Fix performance of markdownLinkText highlighting. + (Closes: #994209) + + -- James McCoy Sun, 30 Oct 2022 16:59:44 -0400 + +vim (2:9.0.0626-1) unstable; urgency=medium + + * Merge upstream patch v9.0.0626 + + Various CVE fixes (Closes: #1019590) + - 9.0.0246: using freed memory when 'tagfunc' deletes the buffer, + CVE-2022-2946 + - 9.0.0260: using freed memory when using 'quickfixtextfunc' + recursively, CVE-2022-2982 + - 9.0.0322: crash when no errors and 'quickfixtextfunc' is set, + CVE-2022-3037 + - 9.0.0360: crash when invalid line number on :for is ignored, + CVE-2022-3099 + - 9.0.0389: crash when 'tagfunc' closes the window, CVE-2022-3134 + - 9.0.0483: illegal memory access when replacing in virtualedit mode, + CVE-2022-3234 + - 9.0.0490: using freed memory with cmdwin and BufEnter autocmd, + CVE-2022-3235 + - 9.0.0530: using freed memory when autocmd changes mark, CVE-2022-3256 + - 9.0.0577: buffer underflow with unexpected :finally, CVE-2022-3296 + - 9.0.0598: using negative array index with negative width window, + CVE-2022-3324 + - 9.0.0614: CVE-2022-3352 + + 9.0.0509: confusing error for "saveas" command with "nofile" buffer + (Closes: #796872) + + -- James McCoy Fri, 30 Sep 2022 00:38:50 -0400 + +vim (2:9.0.0242-1) unstable; urgency=medium + + * Merge upstream patch v9.0.0242 + + 9.0.241/242: Install the shared syntax files (Closes: #1017856) + * Add historic changelog entry for #947120 fix + * Adjust lintian overrides for new []-format + * Declare compliance with Policy 4.6.1, no changes needed + + -- James McCoy Mon, 22 Aug 2022 22:46:33 -0400 + +vim (2:9.0.0229-1) unstable; urgency=medium + + * Merge upstream patch v9.0.0229 + + Various CVE fixes + - 9.0.0211: invalid memory access when compiling :lockvar, CVE-2022-2819 + - 9.0.0212: invalid memory access when compiling :unlet, CVE-2022-2816 + - 9.0.0213: using freed memory with error in assert argument, + CVE-2022-2817 + - 9.0.0218: reading before the start of the line, CVE-2022-2845 + - 9.0.0220: invalid memory access with for loop over NULL string, + CVE-2022-2849 + - 9.0.0221: accessing freed memory if compiling nested function fails, + CVE-2022-2862 + - 9.0.0225: using freed memory with multiple line breaks in expression, + CVE-2022-2889 + * Add Recommends: xxd to vim-common + * Minor fixes for vim-tiny's fake help file (Closes: #1017715) + * Revert "Temporarily skip Test_Debugger_breakadd_expr", test fixed upstream + + -- James McCoy Sat, 20 Aug 2022 09:56:52 -0400 + +vim (2:9.0.0135-1) unstable; urgency=medium + + * Merge upstream patch v8.2.5172 + + ftplugin/perl.vim: Only add : to 'isfname' in Perl buffers. (Closes: + #761800) + + ftplugin/tap.vim: Set fold-related options local to the buffer. (Closes: + #954113) + + syntax/debcontrol.vim: Fix highlighting of sections with a slash (e.g., + "non-free/utils"). (Closes: #1010839) + + syntax/tap.vim: Match TODO/SKIP markers case-insensitively. (Closes: + #954016) + + syntax/perl.vim: Properly highlight code on the same line as the start + of a here-doc block. (Closes: #136455) + + Various CVE fixes (Closes: #1015984, #1016068) + - 8.2.5043: can open a cmdline window from a substitute expression, + CVE-2022-1942 + - 8.2.5050: using freed memory when searching for pattern in path, + CVE-2022-1968 + - 8.2.5063: error for a command may go over the end of IObuff, + CVE-2022-2000 + - 8.2.5120: searching for quotes may go over the end of the line, + CVE-2022-2124 + - 8.2.5122: lisp indenting may run over the end of the line, + CVE-2022-2125 + - 8.2.5123: using invalid index when looking for spell suggestions, + CVE-2022-2126 + - 8.2.5126: substitute may overrun destination buffer, CVE-2022-2129 + - 9.0.0018: going over the end of the typeahead, CVE-2022-2285 + - 9.0.0025: accessing beyond allocated memory with the cmdline window, + CVE-2022-2288 + - 9.0.0035: spell dump may go beyond end of an array, CVE-2022-2304 + - 8.2.5162: reading before the start of the line with BS in Replace + mode, CVE-2022-2207 + - 8.2.4895: buffer overflow with invalid command with composing chars, + CVE-2022-1616 + - 8.2.4899: with latin1 encoding CTRL-W might go before the cmdline, + CVE-2022-1619 + - 8.2.4919: can add invalid bytes with :spellgood, CVE-2022-1621 + - 8.2.4956: reading past end of line with "gf" in Visual block mode, + CVE-2022-1720 + - 8.2.4977: memory access error when substitute expression changes + window, CVE-2022-1785 + - 8.2.5013: after text formatting cursor may be in an invalid position, + CVE-2022-1851 + - 8.2.5023: substitute overwrites allocated buffer, CVE-2022-1897 + - 8.2.5024: using freed memory with "]d", CVE-2022-1898 + - 9.0.0060: accessing uninitialized memory when completing long line, + CVE-2022-2522 + * Temporarily skip Test_Debugger_breakadd_expr + * Remove "Depends: xxd" from vim-common (Closes: #1007887) + * Suppress error about missing defaults.vim in vim-tiny (Closes: #1004118) + + -- James McCoy Wed, 03 Aug 2022 19:00:35 -0400 + +vim (2:8.2.4793-1) unstable; urgency=medium + + * Merge upstream patch v8.2.4793 + + -- James McCoy Wed, 20 Apr 2022 20:23:54 -0400 + +vim (2:8.2.4659-1) unstable; urgency=medium + + * Merge upstream patch v8.2.4659 + + 8.2.4151: reading beyond end of a line (Closes: #1004859, CVE-2022-0318) + + autoload/phpcomplete.vim: Fix E565 error in omni-completion (Closes: + #1008710) + * Remove outdated NEWS and README.Debian entries + * README.Debian: Fix links to vim-policy + * Improve docs about purpose and effect of defaults.vim (Closes: #856273) + * Define system (g)vimrc location as /etc/vim/(g)vimrc, rather than + symlinking from /usr/share/vim/(g)vimrc -> /etc/vim/(g)vimrc. + * Replace vim-athena with vim-motif, Athena GUI deprecated upstream + * Remove lintian override for rgb.txt, removed upstream + * Declare compliance with Policy 4.6.0, no changes needed + * Remove vim-gtk transitional package + + -- James McCoy Sun, 03 Apr 2022 10:44:13 -0400 + +vim (2:8.2.3995-1) unstable; urgency=medium + + * Merge upstream patch v8.2.3918 + + 8.2.3610: crash when ModeChanged triggered too early (Closes: #1001900, + CVE-2021-3968) + + 8.2.3611: crash when using CTRL-W f without finding a file name (Closes: + #1001899, CVE-2021-3973) + + 8.2.3612: using freed memory with regexp using a mark (Closes: #1001897, + CVE-2021-3974) + + 8.2.3625: illegal memory access when C-indenting (Closes: #1001896, + CVE-2021-3984) + + 8.2.3847: illegal memory access when using a lambda with an error + (Closes: #1002534, CVE-2021-4136) + + autoload/zip.vim: Use URI syntax for pseudo-filename to avoid empty + buffer after 8.2.3468 (Closes: #1000767) + * Revert "Disable Test_very_large_count since it fails on 32-bit systems", + fixed upstream + + -- James McCoy Mon, 03 Jan 2022 17:57:10 -0500 + +vim (2:8.2.3565-1) unstable; urgency=medium + + * Merge upstream patch v8.2.3565 + + 8.2.3489: ml_get error after search with range (Closes: #996593, + CVE-2021-3875) + + syntax/{debchangelog,debsources}.vim: Add jammy as a recognized Ubuntu + release (Closes: #996760) + * Drop patches applied upstream + + Fix test_recover.vim's checks for endianness and size of long + + Use explicitly signed type for tt_min_argcount to fix unsigned char + systems + * Revert "Temporarily depend on xxd for build tests/autopkgtests" + * Disable Test_very_large_count since it fails on 32-bit systems + + -- James McCoy Sat, 30 Oct 2021 10:56:38 -0400 + +vim (2:8.2.3455-2) unstable; urgency=medium + + * Fix test_recover.vim's checks for endianness and size of long + * Use explicitly signed type for tt_min_argcount to fix unsigned char systems + + -- James McCoy Sun, 03 Oct 2021 09:17:57 -0400 + +vim (2:8.2.3455-1) unstable; urgency=medium + + * Merge upstream patch v8.2.3455 + + 8.2.2761: Don't add current_syn_inc_tag to topgrp. (Closes: #947120) + + 8.2.3022: Add support for xchacha20 encryption, using libsodium + + 8.2.3068: Update Unicode support to Unicode 13 + + 8.2.3402, 8.2.3403: invalid memory access when using :retab with large + value (Closes: CVE-2021-3770, #994076) + + 8.2.3409: reading beyond end of line with invalid utf-8 character + (Closes: CVE-2021-3778, #994498) + + 8.2.3428: using freed memory when replacing (Closes: CVE-2021-3796, + #994497) + + 8.2.3430: Add the ModeChanged autocommand event + + ftplugin/scala.vim: Fix syntax of includeexpr option (Closes: #895629) + + syntax/{debchangelog,debsources}.vim: Add impish as a recognized Ubuntu + release (Closes: #995151) + * Vim addons policy + + Automatically publish policy to https://vim-team.pages.debian.net/vim/ + (Closes: #989223) + + Rewrite policy to document use of dh_vim-addon instead of + vim-addon-manager + * Explicitly Depend on lynx to ensure docbook2txt works + * Build against libsodium for non-tiny builds + * Define a writable $HOME for the tests + * Temporarily depend on xxd for build tests/autopkgtests, otherwise + new tests for the xchacha20 encryption fail. + * Switch to salsa-ci-team pipeline for CI + + -- James McCoy Thu, 30 Sep 2021 12:54:53 -0400 + +vim (2:8.2.2434-3) unstable; urgency=medium + + * Add pkg.vim.noruby Build-Profile + * Disable ruby interpreter on alpha and ia64 (Closes: #983308) + * Re-enable ruby for vim-gtk3 on Ubuntu, since it is no longer in main + + -- James McCoy Mon, 01 Mar 2021 21:58:09 -0500 + +vim (2:8.2.2434-2) unstable; urgency=medium + + * Only enable sound support for GUI builds (Closes: #982856) + + -- James McCoy Sat, 20 Feb 2021 13:46:51 -0500 + +vim (2:8.2.2434-1) unstable; urgency=medium + + * Merge upstream patch v8.2.2434 + + 8.2.2428: Fix handling of focus events when 'ttymouse' is unset. + (Closes: #980449) + + -- James McCoy Sat, 30 Jan 2021 23:47:07 -0500 + +vim (2:8.2.2367-1) unstable; urgency=medium + + * Merge upstream patch v8.2.2367 + + 8.2.2367: Fix test failures on armel/armhf/mipsel + + -- James McCoy Sun, 17 Jan 2021 10:53:54 -0500 + +vim (2:8.2.2344-2) unstable; urgency=medium + + * rules: Add dummy command to test target to fix make error when + DEB_BUILD_OPTIONS=nocheck + + -- James McCoy Thu, 14 Jan 2021 22:25:21 -0500 + +vim (2:8.2.2344-1) unstable; urgency=medium + + * Merge upstream patch v8.2.2344 + + ftplugin/spec.vim: Fix missing ":let" (Closes: #977429) + + syntax/cabal.vim: Add build-tools-depends keyword (Closes: #973548) + * rules: Sanitize locale-related environment variables (Closes: #973943) + + -- James McCoy Thu, 14 Jan 2021 21:40:26 -0500 + +vim (2:8.2.1913-1) unstable; urgency=medium + + [ James McCoy ] + * Merge upstream tag v8.2.1913 + + syntax/sh.vim: Highlight "local var" appropriately when /bin/sh is dash. + (Closes: #796282) + + plugin/netrwPlugin.vim: Fix directory navigation with + g:netrw_liststyle=3 and g:netrw_list_hide='^\..*'. (Closes: #942549) + + 8.2.1909: Remove the limit on items in 'statusline' (Closes: #688258) + + 8.2.1912: Fix test failures with Python 3 >= 3.9 (Closes: #972777) + * rules: Provide path to vim when building vim.pot + * Add procps and cscope to (autopkg)test Depends + * d/tests: Use dpkg-query rather than dpkg-parsechangelog to get upstream version + * d/tests: Use runtime/ from source tree + * d/tests: Force TERM=xterm when running upstreamtest + * Stop installing vim2html.pl + * Stop installing README.txt files in vim-runtime + * Lintian + + Add national-encoding overrides for files intentionally in non-UTF8 + encodings + + Add package-contains-documentation-outside-usr-share-doc overrides for + builtin help + + Rename binary-without-manpage override to no-manual-page + + Rename manpage-without-executable override to spare-manual-page + + Override repeated-path-segment for dvorak plugin + + Add package-contains-documentation-outside-usr-share-doc override for + rgb.txt + + [ Pino Toscano ] + * Remove unused XPM icons. + * Remove do not ship gvim.svg in /usr/share/pixmaps. + + -- James McCoy Tue, 27 Oct 2020 21:38:24 -0400 + +vim (2:8.2.0716-3) unstable; urgency=medium + + * Version the vim/gvim/etc Provides for the vim binary packages. This + allows versioned Depends on vim to be satisfied by any of the binary + packages instead of trying to install Package: vim. (Closes: #960119) + + -- James McCoy Mon, 11 May 2020 22:37:13 -0400 + +vim (2:8.2.0716-2) unstable; urgency=medium + + * Build vim-basic for arch-all builds, needed for install targets + + -- James McCoy Sat, 09 May 2020 11:27:39 -0400 + +vim (2:8.2.0716-1) unstable; urgency=medium + + * Merge upstream tag v8.2.0716 + + syntax/make.vim: Fix mis-highlighting of targets that start with the + word "overrule". (Closes: #958993) + * rules: Switch to dh + * Remove src/po/vim.pot during clean + + -- James McCoy Sat, 09 May 2020 09:20:09 -0400 + +vim (2:8.2.0510-1) unstable; urgency=medium + + * Merge upstream tag v8.2.0510 + + 8.2.0444: Improve reliability of Test_swap_prompt_splitwin + + 8.2.0447: Improve reliability of Test_terminal_scroll + + 8.2.0454: Improve reliability of Test_state + + 8.2.0456, 8.2.0461, 8.2.0470: Improve reliability of Test_confirm_cmd + + 8.2.0462: Fix invalid assertion in Test_popup_and_previewwindow_dump + + 8.2.0474: Allow ":write" to overwrite an existing file when used via + BufWriteCmd, fixing breakage of plugins like vim-gnupg + * Add lintian overrides for manpage-without-executable + * Remove obsolete vim-common.preinst + + -- James McCoy Sat, 04 Apr 2020 23:20:13 -0400 + +vim (2:8.2.0439-1) unstable; urgency=medium + + * Merge upstream tag v8.2.0439 + + 8.2.0398: Fix FTBFS due to Test_profile_func() failure + + 8.2.0436: Fix FTBFS in test_vim9_disassemble.vim due to type mismatches + in format strings + + -- James McCoy Mon, 23 Mar 2020 23:21:40 -0400 + +vim (2:8.2.0397-1) unstable; urgency=medium + + * Merge upstream tag v8.2.0397 + + 8.2.0382: Fix Test_terminal_in_popup failures by disabling the ruler + + syntax/resolv.vim: Refresh list of known options. (Closes: #626371) + + -- James McCoy Tue, 17 Mar 2020 08:31:45 -0400 + +vim (2:8.2.0378-1) unstable; urgency=medium + + * Merge upstream tag v8.2.0378 + + 8.2.0374: Fix test failures on 32-bit archs. (Closes: #953742) + + -- James McCoy Fri, 13 Mar 2020 23:40:47 -0400 + +vim (2:8.2.0368-1) unstable; urgency=medium + + * Merge upstream patch v8.2.0368 + + New "vim9script" syntax available for scripts, c.f. ":help vim9-script" + + syntax/debchangelog.vim: Stop highlighting space before "UNRELEASED" as + an error (Closes: #944781) + + syntax/markdown.vim: Don't treat a bare "<" as the start of an HTML tag. + (Closes: #892172) + + syntax/resolv.vim: Highlight IPv6 addresses (Closes: #626371) + + 8.2.0271: Correctly format 64-bit numbers for status messages in + vim-tiny on 32-bit systems (Closes: #951380) + * Declare compliance with Policy 4.5.0, no changes needed + * Build-Depend on debhelper-compat (= 12) + + -- James McCoy Tue, 10 Mar 2020 22:54:00 -0400 + +vim (2:8.1.2269-1) unstable; urgency=medium + + * Merge upstream patch v8.1.2269 + + 8.1.2261: Disable modifyOtherKeys while in Insert mode when 'noesckeys' + is set. (Closes: #944132) + + -- James McCoy Sat, 09 Nov 2019 07:59:40 -0500 + +vim (2:8.1.2244-1) unstable; urgency=medium + + * Merge upstream patch v8.1.2244 + + syntax/debchangelog.vim: Highlight unsupported releases differently than + supported releases. (Closes: #847933) + + "mouse" feature is now always enabled. + + Improve support for chorded mappings in xterm, when xterm's + modifyOtherKeys mode is enabled, c.f. :help modifyOtherKeys. + * Revert "Move /usr/bin/vim.* into /usr/libexec/vim/" + (Closes: #943328, #942225). The change broke user preferences for + alternatives and sensible-editor. + * Add /var/lib/addons to 'runtimepath' at build time (Closes: #943967) + * Use dh_missing instead of dh_install --list-missing (Closes: #942277) + + -- James McCoy Sun, 03 Nov 2019 20:52:36 -0500 + +vim (2:8.1.2136-1) unstable; urgency=medium + + * Merge upstream patch v8.1.2136 + + Farsi support was removed + + syntax/debcontrol.vim: Recognize "Files-Excluded(-)" fields + (Closes: #932894) + + Swap files are automatically deleted if the file was unmodified and the + process which generated the swap file isn't running. (Closes: #375989) + + Fix incorrect over-indenting when auto-indent is enabled for XML files. + (Closes: #918672) + + Fix indentation of bash scripts with nested if blocks. (Closes: + #939369) + + New popup window support, via the "popup_*()" APIs + + New sound support, via the "sound_*()" APIs + + "localmap", "visual", "visualextra", "visualedit", "user_commands", + "multi_byte", "cmdline_compl", "insert_expand", "modify_fname", + and "comments" features are now always enabled. + + Fix test_compiler.vim failure when locale isn't available. (Closes: + #917859) + * control: + + Remove obsolete versioned Build-Depends on dpkg-dev + * rules: + + Use dh_install --list-missing + * Turn vim-gtk into a transitional package to vim-gtk3 (Closes: #930576 + since the IA__gdk_drawable_get_size assertions don't happen in the GTK3 + build) + * Declare compliance with Policy 4.4.1, no changes needed + * Move /usr/bin/vim.* into /usr/libexec/vim/ + * autopkgtest: + + Mark the "$variant --version" tests superficial + + Add new tests which run the build time tests against the installed + binary/runtime. Mark it flaky for now, since there are some tests which + are more prone to fail in the LXC environment. + + Run autopkgtests as a dedicated user, to avoid false negative failures + with upstream tests which check permissions + + -- James McCoy Fri, 11 Oct 2019 21:37:58 -0400 + +vim (2:8.1.0875-5) unstable; urgency=medium + + * gbp.conf: Set debian-tag to debian/%(version)s + * Backport 'modelineexpr' patches to further restrict modelines + + 8.1.1366: Using expressions in a modeline is unsafe + + 8.1.1367: can set 'modelineexpr' in modeline + + 8.1.1368: Modeline test fails with python but without pythonhome + + 8.1.1382: Error when editing test file + + 8.1.1401: misspelled mkspellmem as makespellmem (test fix) + + -- James McCoy Sat, 15 Jun 2019 12:41:15 -0400 + +vim (2:8.1.0875-4) unstable; urgency=high + + * Backport 8.1.1046 and 8.1.1365 to fix CVE-2019-12735 (Closes: #930020) + + 8.1.1365: source command doesn't check for the sandbox + + -- James McCoy Fri, 07 Jun 2019 06:49:19 -0400 + +vim (2:8.1.0875-3) unstable; urgency=medium + + * syntax/deb{changelog,sources}: Update release names for Debian/Ubuntu + (Closes: #927167) + + -- James McCoy Sun, 05 May 2019 23:41:10 -0400 + +vim (2:8.1.0875-2) unstable; urgency=medium + + * Backport 8.1.0878 and 8.1.0884 to fix test failures on kFreeBSD. + * Backport 8.1.0948 to avoid enabling filetype detection when the +eval + feature isn't present. (Closes: #922106) + + -- James McCoy Fri, 22 Feb 2019 07:55:04 -0500 + +vim (2:8.1.0875-1) unstable; urgency=medium + + * Merge upstream patch v8.1.0875 + + "autocmd", "multi_byte", "virtualedit", and "visualextra" features are + now always enabled. + + New Blob type, for working with raw bytes. + + Support a 3rd character for the "tab" setting in the 'listchars' option. + + *.com files under /etc/apache2/sites-* are properly recognized as apache + filetype. (Closes: #740387) + + syntax/debchangelog.vim: Recognize "emergency" as a valid urgency. + (Closes: #920522) + + Support 64-bit offsets for xxd. (Closes: #771456) + * rules: + + Remove --enable-multibyte since it is always enabled + * debian.vim: + + Remove has('autocmd') checks since it is always enabled + * gvimrc: + + Adapt gui check to work for gtk2/gtk3 + + -- James McCoy Mon, 04 Feb 2019 23:11:09 -0500 + +vim (2:8.1.0693-2) unstable; urgency=medium + + * Separate /etc/vim and /usr/share/vim/vimfiles. The former should be for + the sysadmin, while the latter is used by packages. + + Make /usr/share/vim/vimfiles a directory, not a symlink to /etc/vim + + Add /etc/vim to the default 'runtimepath' + + -- James McCoy Sat, 05 Jan 2019 15:53:12 -0500 + +vim (2:8.1.0693-1) unstable; urgency=medium + + * Merge upstream tag v8.1.0693 + * control: + + Remove obsolete vim-gnome package + + Remove ${shlibs:Depends} from vim-common, since it is Arch: all + + Build-Depend on libtool-bin to run libterm tests + + Replace libtinfo-dev Build-Depends with libncurses-dev + + Change Homepage to https://www.vim.org/ + * Use debian/clean to cleanup files/directories + * rules: + + Rename stamp files so dh_clean deletes them automatically + + Ensure helptags are generated before running tests + * Declare compliance with Policy 4.3.0, no changes needed + + -- James McCoy Sat, 05 Jan 2019 12:34:12 -0500 + +vim (2:8.1.0549-1) unstable; urgency=medium + + * Merge upstream tag v8.1.0549 + + Built-in support for performing diffs, via the libxdiff library, which + allows setting the diff algorithm (:help 'diffopt'). + + Fix formatting of example output in translated xxd man pages. (Closes: + #909217) + * gitlab-ci.yml: Run build as non-root user + * Mark vim-common Multi-Arch: foreign (Closes: #910732) + + -- James McCoy Tue, 27 Nov 2018 20:38:28 -0500 + +vim (2:8.1.0320-1) unstable; urgency=medium + + * Merge upstream tag v8.1.0320 + - syntax/debcontrol.vim: + + Recognize riscv64 as an architecture (Closes: #905435) + - syntax/sh.vim: + + Fix syntax highlighting of curly braces inside parameter expansion + (Closes: #904875) + * rules: + + Stop using --dbgsym-migration + + Stop overriding default dpkg-deb compression + * Declare compliance with Policy 4.2.0, no changes needed + * control: Add cscope to Build-Depends to test cscope integration + + -- James McCoy Wed, 22 Aug 2018 19:46:39 -0400 + +vim (2:8.1.0229-1) unstable; urgency=medium + + [ upstream ] + * Unicode 11 support + * New options ('vartabstop'/'varsofttabstop') to define variable width tab + stops. + * Danish translation + + [ James McCoy ] + * Change "Compiled by" string to team+vim@tracker.d.o + * rules: + + Only run scratch target, not distclean, in autoconf-stamp to avoid FTBFS + with parallel builds. + + Allow defining VARIANT from the environment. Thanks to Guillem Jover + for the suggestion (Closes: #903927) + * Change vim-python Provides to vim-python3. While Vim only supports py2 or + py3, Neovim supports both so the change in provides allows + python(3)-neovim to differentiate the supported Python version. + + -- James McCoy Thu, 02 Aug 2018 21:44:43 -0400 + +vim (2:8.1.0089-1) unstable; urgency=medium + + * New upstream release + + New syntax highlighting for machine-readable debian/copyright files. + (Closes: #869965) + + Fix mis-highlighting of architectures in debian/control files. (Closes: + #900476) + * Change Maintainer to team+vim@tracker.debian.org + * Add wildcard to binaries-have-file-conflict override between + vim-tiny/vim-runtime to account for upstream releases. + + -- James McCoy Tue, 19 Jun 2018 22:44:05 -0400 + +vim (2:8.0.1766-1) unstable; urgency=medium + + [ David Rabel ] + * d/copyright: Fix path to tee.c + + [ upstream ] + * 8.0.1477: Avoid cursor flicker when changing (de)focusing the terminal. + (Closes: #890642) + * 8.0.1491: New 'pumwidth' option allows controlling the width of the popup + menu. (Closes: #450481) + * 8.0.1744: Skip Test_writefile_sync_dev_stdout when /dev/stdout isn't + writable. (Closes: #894565) + * syntax/config.vim: Fix highlighting matching paren for AC_MSG_* syntax + items. (Closes: #881654) + * syntax/debcontrol.vim: Recognize Testsuite and Testsuite-Triggers fields. + (Closes: #886230) + * syntax/sh.vim: Do not highlight substring processing as an error for POSIX + sh. (Closes: #885938) + + [ James McCoy ] + * watch: Track git tags instead of major releases + * Declare compliance with Policy 4.1.4, no changes needed + * control: Use 11~ for minimum debhelper version to ease backporting + * rules: + + Fold config.mk handling into autoconf-stamp target + + Use C.UTF-8 locale when running tests to avoid an upstream bug in the + tests. When not run in a UTF-8 locale, a child Vim used by the tests + displays some unicode characters incorrectly, breaking the test. + + -- James McCoy Thu, 26 Apr 2018 22:08:08 -0400 + +vim (2:8.0.1453-1) unstable; urgency=medium + + [ upstream ] + * 8.0.1452: terminal test fails on some systems + + This should fix the massive FTBFS on the buildds + * 8.0.1453: terminal test fails on some slow terminals + + -- James McCoy Fri, 02 Feb 2018 15:37:32 -0500 + +vim (2:8.0.1451-1) unstable; urgency=medium + + [ David Rabel ] + * Update Standards-Version to 4.1.3 + + [ upstream ] + * 8.0.1444: missing -D_FILE_OFFSET_BITS=64 may cause problems + This should work around the inconsistent handling of large file support in + glibc (#888566), which closes: #827319. + + [ James McCoy ] + * Re-enable Perl bindings on kFreeBSD + * Change Vcs-* to salsa.d.o + * Bump debhelper compat to 11 + * Set R³ to no + * d/control: Use https URL for Homepage + * vim-doc: Move documentation under /usr/share/doc/vim, per §12.3 + * Remove doc/ → doc/ symlinks + * d/rules: Set .NOTPARALLEL to avoid dh_prep clobbering each other + + -- James McCoy Thu, 01 Feb 2018 19:07:29 -0500 + +vim (2:8.0.1401-2) unstable; urgency=medium + + * debian.vim: Move a function definition inside an :if so it doesn't cause + vim-tiny to spew lots of errors. (Closes: #885073) + + -- James McCoy Sun, 24 Dec 2017 08:21:33 -0500 + +vim (2:8.0.1401-1) unstable; urgency=medium + + [ upstream ] + * syntax/sh.vim: + + Fix syntax highlighting of $() when the /bin/sh is detected as + POSIX-compliant. (Closes: #848663) + + Correctly highlight escaped single-quotes inside test expressions. + (Closes: #761064) + + [ James McCoy ] + * runtime/debian.vim: + + Fix mechanism used to check for mappings, since maparg() + doesn't understand multiple modes in the {mode} argument. Thanks to + Sergey Vlasov for the patch! (Closes: #883422) + * syntax/debcontrol.vim: + + Fix highlighting of "Section: javascript" … again. (Closes: #884495) + + -- James McCoy Sun, 17 Dec 2017 22:32:25 -0500 + +vim (2:8.0.1257-2) unstable; urgency=medium + + * Add patch to fix flakiness in test_search.vim + * syntax/debcontrol.vim: + + Recognize golang section. Thanks to Guillem Jover. (Closes: #880698) + + -- James McCoy Sat, 04 Nov 2017 00:17:46 -0400 + +vim (2:8.0.1257-1) unstable; urgency=medium + + [ upstream ] + * 8.0.1246: Fix flaky popup test, which should fix the various FTBFS from + the last upload. + + [ James McCoy ] + * syntax/debsources.vim: + + Fix syntax error in definition of unsupported releases. Thanks to Josh + Triplett. (Closes: #879986) + * Declare compliance with Policy 4.1.1, no changes needed. + + -- James McCoy Thu, 02 Nov 2017 21:27:13 -0400 + +vim (2:8.0.1226-1) unstable; urgency=medium + + [ upstream ] + * 8.0.1154: Fix indentation when 'indentkeys' is in use. (Closes: #877262) + + [ James McCoy ] + * syntax/debcontrol.vim: + + Add support for all fields in deb-src-control(5). (Closes: #878970) + * syntax/deb{sources,changelog}.vim: + + Add bionic release and mark yakkety & squeeze unsupported. + + -- James McCoy Fri, 27 Oct 2017 08:27:27 -0400 + +vim (2:8.0.1144-1) unstable; urgency=medium + + [ upstream ] + * Fix detection/enabling of cursor blink state. (Closes: #872302) + * ftplugin/perl.vim: Set 'iskeyword' local to the buffer so it doesn't + affect subsequently opened buffers. (Closes: #873755) + * syntax/mason.vim: Correctly highlight mason files again. (Closes: + #700016) + + [ James McCoy ] + * debcontrol.vim: + + Recognize Testsuite field (Closes: #872360) + + Treat tabs as valid whitespace (Closes: #872557) + * Declare compliance with Policy 4.1.0, no changes needed + * Add basic autopkgtests + * Add missing postrm for symlink_to_dir maintscripts + + -- James McCoy Sun, 24 Sep 2017 22:02:28 -0400 + +vim (2:8.0.0946-1) unstable; urgency=medium + + [ upstream ] + * 8.0.0939, 8.0.0940: Handle flakiness in terminal tests. (Closes: #872164) + * 8.0.0944: test_profile: Accept a match when self and total time are the + same. + * 8.0.0946: Don't rely on PATH_MAX. Fixes FTBFS on hurd. + + -- James McCoy Mon, 14 Aug 2017 22:41:29 -0400 + +vim (2:8.0.0937-1) unstable; urgency=medium + + [ upstream ] + * 8.0.0210 et.al.: Add support for bracketed paste. (Closes: #504244) + * 8.0.0421: Fix display in diff mode when adding a line at the end of a + buffer. (Closes: #846993) + * 8.0.0693 et.al.: Implement a terminal emulator. + * 8.0.0698: Fix a crash on exit when using a Python function from a timer. + (Closes: #868767) + * 8.0.0737: Crash when X11 selection is very big (Closes: #606957) + + [ James McCoy ] + * vim-policy: + + Specify the "addon", not "name", field is used to declare the addon. + Thanks to Reiner Herrmann. + * Merge changes from Ubuntu, dependent on DEB_VENDOR=Ubuntu: + + Remove --disable-python3interp on Ubuntu for vim-basic + + Disable ruby for vim-gtk3 + * d/rules: + + Remove src/po/vim.pot and *.pyc during clean + + Remove explicit setting of SOURCE_DATE_EPOCH since dpkg's pkg-info.mk + provides it. + * debcontrol.vim: + + Add highlighting for Build-(Depends|Conflicts)-Arch + + Fix syntax highlighting of "javascript" section. (Closes: #867307) + * Rewrite d/copyright in machine readable format. (Closes: #819734) + + Properly document xxd's license. (Closes: #776191) + * Mark vim-doc and xxd Multi-Arch: foreign. Thanks to Helmut Grohne for the + patch. (Closes: #852722) + * Declare compliance with policy 4.0.1 + + Change Priority: extra packages to optional + * Reference Python 3 instead of Python in long descriptions. (Closes: + #868020) + * Bump debhelper compat to 10. + * debian/control: + + Remove version constraints that are satisifed in oldstable. + + -- James McCoy Sun, 13 Aug 2017 16:06:37 -0400 + +vim (2:8.0.0197-5) unstable; urgency=high + + * Backport upstream patches to fix CVE-2017-11109 (Closes: #867720) + + 8.0.0703: Illegal memory access with empty :doau command + + 8.0.0706: Crash when cancelling the cmdline window in Ex mode + + 8.0.0707: Freeing wrong memory when manipulating buffers in autocommands + + -- James McCoy Tue, 11 Jul 2017 23:11:25 -0400 + +vim (2:8.0.0197-4) unstable; urgency=medium + + * Backport upstream patch v8.0.0550 to fix a regression in tag lookups for + ctags-generated emacs style tags files. (Closes: #859426) + * Add Artful Aardvark, jessie-backports-sloppy, and + stretch-backports/security to deb{changelog,sources} syntax files. + * debsources.vim: Require word boundaries around distribution name. + (Closes: #859247) + * Set $TERM to a known sane value when running tests to avoid test failures + due to an unknown $TERM. + + -- James McCoy Sun, 23 Apr 2017 08:10:29 -0400 + +vim (2:8.0.0197-3) unstable; urgency=high + + * Backport upstream patches v8.0.0377 & v8.0.0378, to fix buffer overflows + when reading corrupted undo files. (Closes: #856266, CVE-2017-6349, + CVE-2017-6350) + + -- James McCoy Mon, 06 Mar 2017 22:33:23 -0500 + +vim (2:8.0.0197-2) unstable; urgency=high + + * Backport upstream patch v8.0.0322, to fix buffer overflow if a spellfile + has an invalid length in it. (Closes: #854969, CVE-2017-5953) + + -- James McCoy Sun, 12 Feb 2017 19:56:16 -0500 + +vim (2:8.0.0197-1) unstable; urgency=medium + + [ upstream ] + * 8.0.0190: Improve performance of tag lookup (Closes: #673130) + + -- James McCoy Mon, 16 Jan 2017 20:26:10 -0500 + +vim (2:8.0.0134-1) unstable; urgency=medium + + * Merge upstream tag v8.0.0134 + * Bump minimum version of debhelper for --dbgsym-migration option. (Closes: + #846183) + * debian/rules: Remove '=' from "define" directive to maintain compatibility + with make < 3.82. (Closes: #846312) + * syntax/debcontrol.vim: Add sections for Rust and JavaScript. Thanks to + Josh Triplett for the patch! (Closes: #847539) + * Add an (old) NEWS.Debian entry describing the switch from py2 -> py3 for + Vim's python language bindings. + + -- James McCoy Wed, 14 Dec 2016 22:33:53 -0500 + +vim (2:8.0.0095-1) unstable; urgency=high + + * Merge upstream tag v8.0.0095 + + 8.0.0056: Only allow valid characters in 'filetype', 'syntax' and + 'keymap'. (CVE-2016-1248) + + 8.0.0089: Fix problems with Gtk 3.22.2. This replaces the proposed + patches applied earlier. (#842070) + + -- James McCoy Tue, 22 Nov 2016 13:23:07 -0500 + +vim (2:8.0.0049-1) unstable; urgency=medium + + * Merge upstream tag v8.0.0049 + + 8.0.0038: Define OPEN_CHR_FILES for kFreeBSD to fix Test_read_fifo_utf8 + test failure. (Part of #827319) + * Disable Perl bindings for kfreebsd-* until #827319 is resolved since the + FTBFS was blocking bootstrapping of kfreebsd systems. + * Add Zesty Zapus to deb{changelog,sources} syntax files + * Cherry-pick two proposed patches to fix vim-gtk3's widget sizing, while + upstream Vim and Gtk figure out what the right fix is. (Related to + #842070) + + -- James McCoy Sat, 12 Nov 2016 13:17:06 -0500 + +vim (2:8.0.0022-1) unstable; urgency=medium + + * syntax/debsources: Recognize https URLs. Thanks to Joe Stein for the + patch! + * Add information about defaults.vim to NEWS.Debian and /etc/vim/vimrc. + (Closes: #837761) + * Update vim-tiny patch to not source defaults.vim when vim.tiny is invoked + as vi. + * Bump priority of vim-tiny's vi alternative, so it's higher than e3vi. + (Closes: #839265) + + -- James McCoy Tue, 04 Oct 2016 23:34:23 -0400 + +vim (2:8.0.0003-1) unstable; urgency=medium + + [ upstream ] + * Vim 8 released! + * v8.0.0003: Fix test failures on big-endian architectures. + + -- James McCoy Mon, 12 Sep 2016 21:54:12 -0400 + +vim (2:7.4.2347-1) unstable; urgency=medium + + [ upstream ] + * Fix test failure due to relying on modelines. (Closes: #837130) + + [ James McCoy ] + * Move xxd into its own package. This allows other packages to express a + relationship on xxd itself, rather than vim-common, and also enables + turning vim-common into an Arch: all package. + * Remove dpkg-dev Build-Depends, since the version is satisifed prior to + oldstable. + + -- James McCoy Sat, 10 Sep 2016 23:35:08 -0400 + +vim (2:7.4.2330-1) unstable; urgency=medium + + [ upstream ] + * Highlighted changes: + + 7.4.1976: Support 64-bit number variables in VimL. Use has('num64') to + test for presence of the functionality. (Closes: #788055) + + runtime/ftplugin/man.vim: + - Use the width of the current window when formatting a man page. + (Closes: #827634) + + runtime/syntax/rst.vim: + - Use underline for emphasized text. (Closes: #547537) + + runtime/tutor/tutor.es: + - Fix misspelling of seguido. (Closes: #834336) + + [ James McCoy ] + * Switch from Python2 to Python3 language bindings. All packaged + addons which use Python support both 2 & 3. (Closes: #729924) + * Add mips64el as a recognized architecture in debcontrol files. Thanks to + Reiner Herrmann for the patch. (Closes: #830545) + * Update supported Ubuntu releases in debsources files. + * Remove vim-gnome (which uses deprecated gnome2 libraries) in favor of + vim-gtk3. (Closes: #820239) + * Run tests during build targets to avoid test failures related to running + as (fake)root. + + -- James McCoy Wed, 07 Sep 2016 22:12:11 -0400 + +vim (2:7.4.1829-1) unstable; urgency=medium + + * Merge upstream tag v7.4.1829 + + 7.4.1713: Force use of X11 backend under Wayland. (Closes: #819954) + + 7.4.1802: Improve handling of long lines in quickfix lists. (Closes: + #815976) + + LogiPat plugin's :ELP command renamed to :LPE, so it doesn't shadow :E. + (Closes: #796075) + + -- James McCoy Mon, 09 May 2016 23:06:14 -0400 + +vim (2:7.4.1689-3) unstable; urgency=medium + + * helpztags: Fix regression in previous upload where the doc file isn't + opened, so no tags file is generated. (Closes: #820313) + + -- James McCoy Thu, 07 Apr 2016 22:37:20 -0400 + +vim (2:7.4.1689-2) unstable; urgency=medium + + * Stop installing a dangling symlink at + /usr/share/vim/addons/doc/matchit.txt. (Closes: #819796) + * Lintian: + + Provide more details in vim-doc's long description. Thanks to Elimar + Riesebieter for the patch. (Closes: #819733) + * helpztags: + + Don't try to read a file if it can't be opened. (Closes: #819764) + + Don't error if the specified directory doesn't exist. (Closes: #819809) + * Generate vim-policy in a consistent locale. + + -- James McCoy Sun, 03 Apr 2016 09:25:18 -0400 + +vim (2:7.4.1689-1) unstable; urgency=medium + + * Merge upstream tag v7.4.1689. + + Highlighted changes: + - 7.4.1142: “:syn iskeyword” command to define the set of keyword + characters for syntax highlighting, rather than changing the buffer's + 'iskeyword' option. + - 7.4.1154 et.al.: Support converting between JSON + and VimL. See json_decode(), json_encode(), js_decode(), and + js_encode(). + - 7.4.1169 et.al.: Support async communication with external processes + using the new channel and job features. + - 7.4.1384 et.al.: Provide native support for managing Vim + addons/packages with the :packadd command and 'packpath' option. + - 7.4.1402: GTK3 GUI support + - 7.4.1578: Support running a function on a periodic basis with the + timer_start()/timer_start() functions. + - runtime/syntax/sh.vim + + Fix incorrect highlighting when case/esac are embedded in a word. + (Closes: #818137) + - runtime/syntax/sshdconfig.vim + + Update with recent keywords, including VersionAddendum. (Closes: + #776834) + * Add a vim-gtk3 package. (Closes: #815750) + * Improve reproducibility of Vim builds. (Closes: #787327) + + Use $SOURCE_DATE_EPOCH to set the compilation time displayed in :version + + Set a static value for configure's --with-compiledby argument + * Migrate to automatic -dbgsym packages + * Declare compliance with Policy 3.9.7, no changes needed. + * Stop installing empty icon directories in vim-common. Thanks to Elimar + Riesebieter for the patch. (Closes: #819653) + + -- James McCoy Thu, 31 Mar 2016 21:57:48 -0400 + +vim (2:7.4.963-1) unstable; urgency=medium + + * Merge upstream tag v7.4.963. + + Remove merged patches: + - Typo in Spanish translation of swapfile recovery. + + Highlighted changes: + - 7.4.849: New Insert mode command to maintain the undo sequence across + cursor movements (c.f., :help i_CTRL-G_U). + - 7.4.858: New quickfix-related commands (:ldo, :lfdo, :cdo, and :cfdo). + - indent/yaml.vim: Maintain indent of mapping key when mapping is + contained in a list. (Closes: #713066) + - 7.4.941: New 'tagcase' option to control whether tag searches are case + insensitive. + * Rewrite vim-tiny's help.txt. + + Clarify the reasoning for the package and why the help isn't available. + + Explicitly mention what the more featureful Vim packages are. + + Point to vimhelp.appspot.com for online help, since it is better kept + updated. + * Update Vcs-* URLs to point to Git. + * Install upstream's patchlist as the changelog. (Closes: #622827) + * Fix a typo in vim-policy. Thanks to Jakuyo Friel for the patch. (Closes: + #773531) + * Fix FTBFS when running “dpkg-buildpackage -A”. (Closes: #806875) + * Stop installing menu files. + * Install upstream's desktop files and drop the ones from debian/. + * Mark vim-runtime/vim-gui-common as Multi-Arch: foreign. (Closes: #806535) + + -- James McCoy Wed, 09 Dec 2015 23:31:36 -0500 + +vim (2:7.4.826-1) unstable; urgency=medium + + * Merge upstream tag v7-4-826. Remove merged patches. + + Recognize bash completion files for syntax highlighting. (Closes: + #628494) + + Update declared license for xxd. (Closes: #776191) + * Enable mappings when gvim is started via “:gui”. Based on a + patch from Daniel Shahaf. (Closes: #793781) + + -- James McCoy Sun, 16 Aug 2015 22:17:45 -0400 + +vim (2:7.4.712-3) unstable; urgency=medium + + * Change Suggests: ttf-dejavu → fonts-dejavu. (Closes: #783969) + * Welcome, wily werewolf. + * Remove vim-lesstif transitional package. + * Remove obsolete Breaks/Replaces from vim-gui-common. + * Lintian: + + Add override to vim-common for desktop-command-not-in-package, since vim + is provided by the other binary packages. + + Remove spelling-error-in-binary overrides for tEH + + Remove empty /usr/share/pixmaps directory from vim-gui-common + * Declare compliance with policy 3.9.6 + * Fix FTBFS with newer ghostscript by using ps2write device. (Closes: + #785221) + * Make build resilient to changes in the default tcl version. + * Update description of vim-tiny to clarify it only exists to provide the vi + binary for the base install. (Closes: #784268) + + -- James McCoy Sat, 13 Jun 2015 01:16:02 -0400 + +vim (2:7.4.712-2) unstable; urgency=medium + + * Add stretch to Debian syntax files. (Closes: #783506) + * syntax/debsources.vim: Recognize all Debian/Ubuntu releases, but highlight + unsupported releases differently. + * Add patch upstream/lcs_space-overflow.patch, which fixes an integer + overflow when determining whether to apply listchar's space setting. This + fixes the test_listchars failure on certain architectures when PIE is + enabled. + + -- James McCoy Thu, 30 Apr 2015 20:25:42 -0400 + +vim (2:7.4.712-1) unstable; urgency=medium + + * Merge upstream tag v7-4-712 + + 7.4.586: Remove a cyclic dependency when generating documentation, which + results in unreproducible builds. (Closes: #775562) + + 7.4.609: Use a stack of dicts and lists to be marked for garbage + collection, thus making it iterative instead of recursive. Fixes crash + with some plugins written in other languages (e.g., lua). (Closes: + #778821) + + runtime/syntax/registry.vim: Correct highlighting of comments. (Closes: + #687199) + + runtime/syntax/strace.vim: Highlight 2-digit escape sequences the same + as 1 or 3-digit escape sequences. (Closes: #775113) + * Remove backported patches upstream/v7-4-576.patch and + upstream/netrwSavePosn.patch. + * Add a Build-Conflict for autoconf2.13 to avoid a FTBFS if it's installed. + (Closes: #781031) + + -- James McCoy Sat, 25 Apr 2015 09:00:09 -0400 + +vim (2:7.4.488-7) unstable; urgency=medium + + * Backport patch 7.4.576 to fix jarring toggling of 'linebreak' option when + using the c command to change the buffer. (Closes: #774492) + * Backport upstream fix for call to unknown function in NetRW plugin. + (Closes: #768467) + + -- James McCoy Tue, 31 Mar 2015 19:30:17 -0400 + +vim (2:7.4.488-6) unstable; urgency=medium + + * Build vim logo from the eps instead of pdf so the svg has the correct + bounding box. Thanks to Simon McVittie for the idea! (Closes: #778477) + * syntax/debchangelog.vim: + + Recognize jessie, jessie-backports, and sid targets + + Recognize binary-only=yes key value in debchangelogHeader + + -- James McCoy Sat, 21 Mar 2015 14:24:01 -0400 + +vim (2:7.4.488-5) unstable; urgency=medium + + * Install icons to the proper directory. dh_install doesn't rename files, + even though the last upload pretended it does. + - Use upstream's icons and remove the ones in debian/ + - Add Build-Depends: pdf2svg to create a scalable icon + + -- James McCoy Wed, 11 Feb 2015 21:38:10 -0500 + +vim (2:7.4.488-4) unstable; urgency=medium + + * Move vim icon from vim-gui-common to vim-common since both vim.desktop and + gvim.desktop use it. (Closes: #773930) + + -- James McCoy Mon, 29 Dec 2014 23:13:17 -0500 + +vim (2:7.4.488-3) unstable; urgency=medium + + * Install icons to /usr/share/icons/hicolor to work around #765069. + (Closes: #768256) + + -- James McCoy Sun, 30 Nov 2014 15:08:09 -0500 + +vim (2:7.4.488-2) unstable; urgency=medium + + * Actually fix the Name in vim.desktop. (Closes: #769575) + + -- James McCoy Fri, 14 Nov 2014 21:06:27 -0500 + +vim (2:7.4.488-1) unstable; urgency=medium + + * Merge upstream tag v7-4-488 + * Fix the Name in vim.desktop. + + -- James McCoy Wed, 22 Oct 2014 21:07:59 -0400 + +vim (2:7.4.481-1) unstable; urgency=medium + + * Merge upstream tag v7-4-481 + + Updated Russian translation of vimtutor. (Closes: #722673) + * syntax/debcontrol.vim: Recognize https URLs for Vcs-Git. (Closes: + #763553) + * debian/rules: Request all hardening features, other than fortify, from + dpkg-buildflags. + * Add codename for Ubuntu's next release, vivid. + * Install a .desktop file for terminal vim. (Closes: #760512) + + -- James McCoy Mon, 20 Oct 2014 23:26:20 -0400 + +vim (2:7.4.430-1) unstable; urgency=medium + + * Merge upstream tag v7-4-430 + + 7.4.397: Fix paren matching in zsh scripts. (Closes: #754507) + + Runtime updates: + - Improve highlighting of Python's \N{…} sequences. (Closes: #749175) + * Add jessie release and remove EOLed saucy release from Debian runtime + files. (Closes: #753823) + + -- James McCoy Mon, 01 Sep 2014 04:11:24 -0400 + +vim (2:7.4.335-1) unstable; urgency=medium + + * Merge upstream tag v7-4-335 + + Avoid setting buftype=nofile for scp buffers. (Closes: #743136) + + Properly handle scp://user@host/ URLs (Closes: #744111) + * Remove EOLed Quantal release from Debian runtime files. + * Transition from Lua 5.1 to Lua 5.2 + + -- James McCoy Thu, 19 Jun 2014 23:02:17 -0400 + +vim (2:7.4.273-2) unstable; urgency=medium + + * syntax/debcontrol.vim: + + Fix architecture orders to work with left-most regex matching. + + -- James McCoy Fri, 02 May 2014 00:17:48 -0400 + +vim (2:7.4.273-1) unstable; urgency=medium + + * Merge upstream tag v7-4-273 + * syntax/debcontrol.vim: + + Correctly highlight any-x32 in Architecture field + + Add ppc64el architecture + * syntax/deb{changelog,sources}.vim: + + Add codenames for Ubuntu's development release (devel, utopic) + + -- James McCoy Thu, 01 May 2014 21:50:24 -0400 + +vim (2:7.4.253-1) unstable; urgency=medium + + * Merge upstream tag v7-4-253 + + 7.4.252: Clear blink timer after removing it to avoid GLib-CRITICAL + error. (Closes: #743668) + * rules: Explicitly disable SMACK on Linux, in favor of SELinux. + + -- James McCoy Mon, 07 Apr 2014 22:47:57 -0400 + +vim (2:7.4.225-1) unstable; urgency=medium + + * Merge upstream tag v7-4-225 + + Patches merged upstream: + - upstream/python-ftplugin-include.patch and + upstream/shadowdir-tests.diff + + netrw: Don't try to access the clipboard when support isn't enabled. + (Closes: #737530) + + 7.4.209: Escape a repeated command when storing it for redo. (Closes: + #739656) + + 7.4.222: Use RbConfig::CONFIG['rubyarchhdrdir'] to allow building Vim + against Ruby 2.x. (Closes: #739125) + + -- James McCoy Thu, 27 Mar 2014 22:13:31 -0400 + +vim (2:7.4.161-1) unstable; urgency=medium + + * Merge upstream tag v7-4-161 + + Fix loading of NetRW when editing a directory. (Closes: #732091) + * Update Ubuntu releases in Debian syntax files. + * Add more debian-ports architectures to debcontrol syntax file. (Closes: + #722313) + * ftplugin/debchangelog: Allow changing distribution from UNRELEASED. + (Closes: #734267) + * control: Bump Standards-Version to 3.9.5, no changes needed. + * Add shadowdir-tests.diff to fix building in a shadow build directory. + + -- James McCoy Sun, 02 Feb 2014 19:27:58 -0500 + +vim (2:7.4.052-1) unstable; urgency=low + + * Merge upstream tag v7-4-052 + - Remove upstream/python-ftplugin-keywordprg.patch, merged upstream + * debian/watch: Use the pasv option. + * debian/control: Version the ruby1.8{,-dev} Build-Conflicts now that the + Provides: have been dropped. + + -- James McCoy Wed, 09 Oct 2013 00:06:41 -0400 + +vim (2:7.4.027-1) unstable; urgency=low + + * Merge upstream tag v7-4-027 + + 7.4.003: Refresh a stale pointer in new regex engine to avoid + dereferencing a freed pointer. (Closes: #722081) + + 7.4.024: Read an undo file owned by the current user, even if that + differs from the owner of the edited file. (Closes: #721944) + + Use old regex engine for yamlBlockMappingKey highlighting to workaround + performance problem with new engine. (Closes: #719510) + + -- James McCoy Tue, 17 Sep 2013 20:29:24 -0400 + +vim (2:7.4.000-1) unstable; urgency=low + + * New upstream release. + * Upload to unstable. + * Stop providing /usr/share/vim/vimcurrent. It shouldn't be used by + anything, since it's Debian specific, and the Vim packaging hasn't used it + (other than documenting the location of debian.vim) for years. + * Override spelling-error-in-binary … tEH the. + + -- James McCoy Sat, 10 Aug 2013 21:24:02 -0400 + +vim (2:7.4b.004-1) experimental; urgency=low + + * Merge upstream tag v7-4b-004 + + 7.4a.044: Clear window from b_wininfo in win_free(). (Closes: #717529) + * debian/rules: Install Japanese translations of man pages. + * Update path in binaries-have-file-conflict lintian override. + * Use canonical URI for Vcs-*. + + -- James McCoy Fri, 02 Aug 2013 22:58:04 -0400 + +vim (2:7.4a.012-1) experimental; urgency=low + + * Merge upstream tag v7-4a-012 + + New NFA regex engine. Vim automatically determines whether to use the + new or old engine based on the pattern. A specific engine can be + forced with the 'regexengine' option or within a pattern using the \%#= + atom. + + Updated Perl syntax files + - Adds support for Perl 5.10 syntax. (Closes: #681606) + - Fixes syntax highlighting when qq{} contains a } character. (Closes: + #598197) + + Fix display of an empty entry in NetRW directory listing. (Closes: + #709101) + + Recognize Ikiwiki's *.mdwn as markdown filetype. (Closes: #672597) + + 7.3.985: Call g_set_prgname() on startup to set a proper WM_CLASS. + (Closes: #639925) + + Source ~/.vim/vimrc or ~/.vim/gvimrc in favor of ~/.vimrc or ~/.gvimrc. + + Update sh syntax file + - Recognize when sh is dash and change the default behavior highlighting + to be POSIX instead of Bourne. (Closes: #712657, #699172) + - Correctly highlight text after a "--". (Closes: #713922) + * debian/rules: Simplify version handling and bump for the pre-release. + * Add shadowdir-fixes.patch, to fix test failures when building in a + shadow directory. + + -- James McCoy Fri, 12 Jul 2013 22:30:28 -0400 + +vim (2:7.3.923-3) unstable; urgency=low + + * Build-Conflict against ruby1.8{,-dev} to work around incorrect ruby{,-dev} + Provides (c.f., #710022). + + -- James McCoy Sun, 23 Jun 2013 22:12:29 -0400 + +vim (2:7.3.923-2) unstable; urgency=low + + * Fix FTBFS with M-A Python. (Closes: #701513) + + -- James McCoy Sun, 26 May 2013 22:18:36 -0400 + +vim (2:7.3.923-1) unstable; urgency=low + + * Merge upstream tag v7-3-923 + + Updated documentation for Python syntax file. (Closes: #613038) + + NetRW no longer creates files in ~/.vim (or ~/.vim itself) if + g:netrw_dirhistmax <= 0. (Closes: #635984) + * Remove EOLed Oneiric and Hardy releases from Debian runtime files. Add + Saucy and wheezy-backports. + * Bump Standards-Version to 3.9.4, no changes needed. + * Recognize “-b $branch” as part of a Vcs-Git field. (Closes: #702751) + + -- James McCoy Sun, 05 May 2013 23:07:27 -0400 + +vim (2:7.3.831-1) experimental; urgency=low + + * Merge upstream tag v7-3-831 + + Merged patches: + - upstream/debian-runtime-spell.patch, upstream/if_py-crash.patch, + upstream/netrw-syntax-fix.patch, upstream/remove-py_config.patch + + 7.3.607: Swap fg and bg colors for completion menu. (Closes: #680772) + + 7.3.750: Fix off-by-one error in justify macro. (Closes: #620106) + + 7.3.751: Retry test61 once if it fails. + - Remove the explicit ignoring of test61 failures in debian/rules + * Mark "DM-Upload-Allowed" in debian/control files as an "Error", since the + field is no longer supported by the Debian archives. + * Re-enable vim-gnome on m68k. + * Update Ubuntu release names in Debian runtime files. + + -- James McCoy Thu, 21 Feb 2013 22:13:43 -0500 + +vim (2:7.3.547-7) unstable; urgency=low + + * Add vim-lesstif.preinst to handle transitioning /usr/share/doc/vim-lesstif + from a symlink to a directory. (Closes: #700069) + * Add clarification to short description of vim-nox. (Closes: #699780) + + -- James McCoy Sat, 09 Feb 2013 18:43:57 -0500 + +vim (2:7.3.547-6) unstable; urgency=low + + * Always enable ACL support. (Closes: #693462) + + -- James McCoy Thu, 22 Nov 2012 09:37:52 -0500 + +vim (2:7.3.547-5) unstable; urgency=low + + * Use xz compression for all binary packages. (Closes: #687265) + * Backport patches 7.3.652 and 7.3.661 to fix crash in Python bindings when + GCC 4.7 is used to build Vim. (Closes: #678122) + + -- James McCoy Sat, 15 Sep 2012 23:59:18 -0400 + +vim (2:7.3.547-4) unstable; urgency=low + + * Add remove-py_config.patch, removing the dependence on Python's config.c. + (Closes: #681599) + + -- James McCoy Mon, 23 Jul 2012 22:55:51 -0400 + +vim (2:7.3.547-3) unstable; urgency=low + + * Add netrw-syntax-fix.patch to fix a syntax error in NetRead's ftp + handling. (Closes: #678513) + + -- James McCoy Tue, 26 Jun 2012 19:14:28 -0400 + +vim (2:7.3.547-2) unstable; urgency=low + + * Work around GCC 4.7 optimization bug, #678122, by explicitly using gcc-4.6 + + -- James McCoy Thu, 21 Jun 2012 22:28:51 -0400 + +vim (2:7.3.547-1) unstable; urgency=low + + * Merge upstream tag v7-3-547 + * Change ruby(-dev) Build-Depends to use unversioned package names in order + to build with the default ruby version. + * Add spell-check support to Debian control syntax file. + + -- James McCoy Wed, 06 Jun 2012 20:20:05 -0400 + +vim (2:7.3.524-1) unstable; urgency=low + + * Merge upstream tag v7-3-524 + + Recognize git commit files in submodules. (Closes: #663735) + + Fix NetRW's munging of options when opening files. (Closes: #661720) + + 7.3.485: Use environment's LDFLAGS when building xxd. (Closes: #663605) + + Update recognized keywords for dircolors syntax. (Closes: #660632) + * Exclude the tools directory from the install. + + Stop shipping scripts which use Perl4 functionality. (Closes: #659431) + + Remove lintian overrides for csh scripts. + + Remove patch debian/awk-shebang.patch + * Remove EOLed Lenny/Maverick releases, add Quantal release to runtime + files. + * Remove upstream/po-syntax-cpo.patch, merged upstream. + * Remove upstream/debian-runtime-*.patch, merged upstream. + * Remove upstream/fr-manpage-fixes.patch, merged upstream. + * Remove upstream/xdefaults-syntax-define.patch, merged upstream. + * Add lintian override for binaries-have-file-conflict. vim-runtime diverts + vim-tiny's doc/help.txt and doc/tags. + * Remove unused menu-icon-missing override. + + -- James McCoy Thu, 24 May 2012 21:37:40 -0400 + +vim (2:7.3.429-2) unstable; urgency=low + + * Ignore failures in test61 since it is highly sensitive to timing. + Slow/heavily loaded systems will cause the test to fail. (Closes: + #625941) + * Install bug scripts with correct permissions. + + Use dh_bugfiles to simplify process + + Bump debhelper B-D to >= 7.2.3~ + + -- James McCoy Fri, 10 Feb 2012 22:47:19 -0500 + +vim (2:7.3.429-1) unstable; urgency=low + + * Pull upstream tag v7-3-429 + + Updated sshconfig syntax file. (Closes: #594296) + + 7.3.365: Fix crash when using a large Unicode character with syntax + highlighting. (Closes: #657777) + + Updated java indent file handles indentation of annotations. (Closes: + #519240) + * Add new education and introspection sections to debcontrol syntax file. + (Closes: #651381) + * Update vim-common's mime information to handle only having vim-tiny + installed. (Closes: #654674) + + Add test -x /usr/bin/vim for the vim entries. + + Add lower-priority vi entries. + * Use new --enable-fail-if-missing flag to make configure fail if an + interpreter is enabled but configure test fails. + * Add bug script to show what binaries the vi/vim/gvim symlinks point to. + * Only use /u/s/dpkg/default.mk when available. + + Reduce versioned B-D on dpkg-dev + + Manually set relevant makefile variables if file isn't present + * Add alternate libncurses5-dev B-D to ease backporting. + + -- James McCoy Sat, 04 Feb 2012 22:04:06 -0500 + +vim (2:7.3.363-1) unstable; urgency=low + + * Pull upstream tag v7-3-363 + + 7.3.358: Fix mouse handling since urxvt support. (Closes: #647055) + * Set vim-lesstif's section to oldlibs, as suggested by + transitional-package-should-be-oldlibs-extra. + + -- James McCoy Wed, 30 Nov 2011 21:53:43 -0500 + +vim (2:7.3.346-1) unstable; urgency=low + + * Pull upstream tag v7-3-346 + + 7.3.337: Redraw the screen after resizing the terminal. (Closes: + #644668) + + 7.3.343: Add mouse support for urxvt. + + 7.3.344: Use read()/write() instead of fputs()/fread() to detect when + the child GUI process has started. (Closes: #644639) + * Don't build vim-gnome on m68k, since the dependencies aren't available. + * Update Debian runtime files for Precise Pangolin. (Closes: #644489) + * Use correct DEB_VERSION_* make variable for update-orig target. + * Also use CPPFLAGS and LDFLAGS from /u/s/dpkg/buildflags.mk + * Change libncurses5-dev B-D to libtinfo-dev. + * Remove patch de.po-lesen.patch, merged upstream. + * Set DEB_BUILD_MAINT_OPTIONS=hardening=-fortify so we don't override + upstream's handling. + * Bump Standards-Version to 3.9.2, no changes needed. + + -- James McCoy Thu, 20 Oct 2011 22:17:16 -0400 + +vim (2:7.3.333-1) unstable; urgency=low + + * Pull upstream tag v7-3-333 + + 7.3.318: Fix behavior of C on empty last line. (Closes: #642432) + + 7.3.323: Recognize a few more patterns for GCC error messages. (Closes: + #621693) + + 7.3.333: Handle multi-byte characters when using `.' to repeat a + command. (Closes: #632542) + * debian/rules: Remove debian/lintian/vim in clean-vim-basic + * debian/rules: Include makefiles from dpkg-dev. + + Bump dpkg-dev versioned B-D >= 1.16.1 + + -- James Vega Tue, 04 Oct 2011 21:48:44 -0400 + +vim (2:7.3.315-1) unstable; urgency=low + + * Pull upstream tag v7-3-315. + + 7.3.295: When select() is interrupted loop and try again. (Closes: + #627376) + + 7.3.300: Python doesn't parse multi-byte argument correctly. (Closes: + #638375) + * Recognize armhf as an architecture in debcontrol files. (Closes: #638873) + * Fix typo in vim policy. Thanks to Jakub Wilk for the patch. (Closes: + #640042) + * Add GenericName field to desktop file. (Closes: #641037) + * Use versioned ruby binary name to ensure we're getting the correct build + flags. + + -- James Vega Sun, 18 Sep 2011 22:17:17 -0400 + +vim (2:7.3.280-1) unstable; urgency=low + + * Pull upstream tag v7-3-280. + + Remove patches/crontab-syntax-case-ignore, merged upstream. + + Remove patches/debcontrol-syntax-multiarch, merged upstream + + Remove patches/dosini-syntax-hash, merged upstream + + 7.3.261: Parse GCC 4.5+ "In file included from" messages correctly when + using quickfix. (Closes: #621693) + * debian/control: + + Add vim-lua Provides to packages which are built with lua bindings. + + Add Lua to long description for the packages which provide the bindings. + * Drop +hg~$hash from the version string now that upstream is tagging the + minor updates. + * Update Debian/Ubuntu codenames in debchangelog/debsources syntax files. + (Closes: #624686) + * Add support for architecture wildcards in debcontrol syntax file. Thanks + to Jakub Wilk for the patch. (Closes: #624805) + * Remove path and extension from Icon key in the desktop file. Thanks to + Michael Bienia for the patch. (Closes: #624688, LP: #740842) + * debian/watch: Change dversionmangle to just drop the patch version. + * Make the leading XC- optional for the Package-Type header in debcontrol + syntax file. Thanks to Guillem Jover for the patch. (Closes: #628763) + * Improve syntax highlighting for automake files. Based on a patch by + Guillem Jover. (Closes: #628759) + + -- James Vega Mon, 15 Aug 2011 06:35:08 -0400 + +vim (2:7.3.154+hg~74503f6ee649-2) unstable; urgency=low + + * Remove upstream/Makefile-parallel.patch as many parallel invocations of + upstream's Makefile may result in multiple instances of cp trying to + exclusively open src/auto/config.mk. + * debian/rules: Add a src/auto/config.mk target which all configure-* + targets have as a pre-requisite. + + -- James Vega Sun, 10 Apr 2011 17:43:21 -0400 + +vim (2:7.3.154+hg~74503f6ee649-1) unstable; urgency=low + + * Pull patches 036 - 154. (Closes: #608390) + + 7.3.042: Clear the spell checking info only when clearing the options + for a buffer. (Closes: #600688) + + 7.3.088: Fix a sporadic crash when using Ruby bindings. (Closes: + #614336) + + 7.3.091: Don't write special K_IGNORE codes when recording a Vim + session. (Closes: #608242) + * debian/watch: Adjust dversionmangle to handle the hg naming. + * Add upstream/es.po-recover.patch, which corrects the translation of the + swap file recovery prompt. Thanks to Vicente Couce Díaz for the patch. + (Closes: #606947) + * debian/rules: + + Remove -Wl,--as-needed since upstream now uses that when available. + + Disable dynamic loading of language bindings until a more robust method + of handling their dependencies is determined. (Closes: #611573) + * Remove vim-lesstif package in favor of the new vim-athena package. + * Add upstream/pythoncomplete-autoload-init.patch, which ensures PyParser's + parserline variable is initialized. Thanks to John Eikenberry for the + patch. (Closes: #608420) + * Bump debhelper compatibility to 7. + + Use dh_prep instead of dh_clean -k. + + Bump debhelper Build-Depends to >= 7. + * debian.vim: Remove BufRead autocmd which was incorrectly setting + filetype=mail for reportbug.conf. Reportbug's temp files are always + reportbug-*. (Closes: #621798) + * Add upstream/debcontrol-syntax-multiarch.patch, which adds syntax + highlighting of Multi-Arch fields in debian/control. Thanks to Thomas + Preud'homme for the patch. (Closes: #621098) + * debian/control: + + Remove python3-dev Build-Depends since python3interp can only be enabled + if dynamically loading the language binding libraries. + + Change ruby Build-Depends to ruby1.8 since the unversioned packages are + going away. + * Add upstream/Makefile-parallel.patch, which adds the "shadow" target to + the top-level Makefile so src/config.mk.dist is properly copied to + src/auto/config.mk before invoking src/Makefile. This fixes parallel + builds since config.mk.dist was introduced. + + Update Lintian overrides for the consistent path names in 2.5.0. + + -- James Vega Sat, 09 Apr 2011 19:18:27 -0400 + +vim (2:7.3.035+hg~8fdc12103333-1) unstable; urgency=low + + * Pull patches 001 - 035. + + More robust YAML highlighting. (Closes: #535682) + * debian/rules: + + Stop overriding CFLAGS on the command-line when invoking make. Upstream + enforces an upper-limit of 1 for _FORTIFY_SOURCE due to the use of + flexible arrays in nested structs, which improperly cause Vim to crash + with _FORTIFY_SOURCE=2. + + Use DEB_HOST_ARCH_OS instead of DEB_HOST_GNU_SYSTEM to determine whether + Linux-specific functionality is enabled. + + Use dpkg-vendor to change build configuration when building on Ubuntu. + Thanks to Michael Bienia for the patch. + * Make helpztags capable of generating tags files for non-English help + files. (Closes: #600248) + * Debian runtime: + + Add natty as a recognized distribution. (Closes: #600560) + + Add metapackages as a recognized section. (Closes: #600562) + + Remove etch as a recognized distribution. + * debian/control: Add dpkg-dev (>= 1.15.1) Build-Depends for dpkg-vendor. + + -- James Vega Mon, 25 Oct 2010 00:48:58 -0400 + +vim (2:7.3.000+hg~ee53a39d5896-1) unstable; urgency=low + + * New upstream release. + * debian/rules: + + Explicitly use the dynamic loading Python interfaces. + + Remove cleanup from clean target which are now properly handled by + upstream's Makefile. + * Update version information in documentation. + + -- James Vega Sun, 15 Aug 2010 17:34:02 -0400 + +vim (2:7.3f.20100812+hg~20e83abf88b1-1) experimental; urgency=low + + * Merge latest 7.3f pre-release. + + Correctly restore multi-byte terminal titles when exiting Vim. (Closes: + #558153) + + Highlight text inside math zones correctly for tex files. (Closes: + #509908) + + Recognize nested cite regions in tex files. (Closes: #444288) + + Support syntax highlighting of bash's $"". (Closes: #473736) + * Patches merged upstream: + + perl-indent-block.patch + + logcheck-ftplugin.patch + + tex-syntax-verbatim-spell.patch + * Enable Lua scripting. + + Add liblua5.1-0-dev and lua5.1 to Build-Depends. + + Enable lua interface via dynamic loading. + * Switch Perl interface to dynamic loading. + * debian/rules: Prefer running tests with the vim-nox binary if it's + available. + * Bump Standards-Version to 3.9.1.0 -- no changes needed. + + -- James Vega Thu, 12 Aug 2010 20:01:43 -0400 + +vim (2:7.3b.20100720+hg~7b7508ee56f1-1) experimental; urgency=low + + * Merge 7.3b pre-release. + + Don't run autocommands when being killed to avoid overrunning the stack. + (Closes: #580961) + + Detect when the recovered buffer matches the on-disk file and notify the + user. (Closes: #89359) + + Update CMake runtime files. (Closes: #463715) + + Correctly set timestamp for X selection transfers. (Closes: #577035) + + Improve 'cindent's handling of javascript. (Closes: #588875) + + Correctly displays characters inserted via digraph sequences which wrap + to a new line. (Closes: #442184) + * Patches merged upstream: + + it-manpage-fixes.patch + + lang-breaks-floating-point.patch + + python-modlibs.patch: + - Remove autoconf Build-Depends as configure.in isn't being patched + anymore. + - Remove autoconf-stamp pre-requisite for configure-stamp-% target. + * Update debian/rules to handle the snapshot versioning. + * Enable Python3 language interface. + + Add python3-dev to Build-Depends. + + Pass --enable-python3interp to configure when building variants with + language interfaces enabled. + + -- James Vega Wed, 21 Jul 2010 00:12:19 -0400 + +vim (2:7.2.445+hg~cb94c42c0e1a-1) unstable; urgency=low + + * debian/control: + + Use Breaks instead of Conflicts for the gvimtutor move. + + Use linux-any wildcards for linux-specific Build-Depends. (Closes: + #587866) + + Bump Standards-Version to 3.9.0.0. + * Pull patches 439 - 445. + * runtime/ftplugin/debchangelog.vim: Use “silent!” to avoid errors when + disabling the menu. Thanks to Jan Christoph Ebersbach for the patch. + + -- James Vega Sun, 11 Jul 2010 22:14:53 -0400 + +vim (2:7.2.438+hg~d44112feb815-5) unstable; urgency=low + + * Rework the diversion handling again. + + vim-runtime.preinst: Add diversion on major version upgrades. + + vim-runtime.postrm: Remove old diversion on major version upgrades. + + vim-runtime Breaks vim-tiny less than the current source version. + + -- James Vega Sun, 13 Jun 2010 21:40:37 -0400 + +vim (2:7.2.438+hg~d44112feb815-4) unstable; urgency=low + + * vim-runtime.preinst: Use the right function name for removing diversions + when upgrading across major versions. + + -- James Vega Sat, 12 Jun 2010 17:46:32 -0400 + +vim (2:7.2.438+hg~d44112feb815-3) unstable; urgency=low + + * vim-runtime.preinst: + + Remove code handling the Etch->Lenny diversion fixup. + + Add handling of diversions when upgrading across major versions. + * vim-runtime.postrm: Remove diversions on abort-install and disappear. + * Move gvimtutor to vim-gui-common from vim-runtime. (LP: #484851) + * debian/control: Remove versioned relationships which are satisified in + Lenny. + + -- James Vega Sat, 12 Jun 2010 10:09:56 -0400 + +vim (2:7.2.438+hg~d44112feb815-2) unstable; urgency=low + + * Fix FTBFS with parallel builds and using the autoconf target to update the + configure script. + + -- James Vega Sat, 29 May 2010 00:14:01 -0400 + +vim (2:7.2.438+hg~d44112feb815-1) unstable; urgency=low + + * Pull patches 437 - 438. + + 7.2.438: Fix crash when running “vim -r”. (Closes: #583122) + * Cherry-pick upstream/lang-breaks-floating-point.patch from upstream to + prevent floating point functionality from breaking when the :lang command + is issued. (Closes: #582421) + * Fix building against Debian's Python 2.6 package. (Closes: #566842) + + Cherry-pick upstream/python-modlibs.patch from upstream. + + debian/control: Add autoconf to Build-Depends. + + debian/rules: Re-generate configure at build time and remove on clean. + + -- James Vega Wed, 26 May 2010 19:34:27 -0400 + +vim (2:7.2.436+hg~e12b9d992389-1) unstable; urgency=low + + * Pull patches 331 - 436. + + 7.2.367: Make xxd follow documented behavior when using “-r -p”. + (Closes: #567041) + + 7.2.405: Re-enable default value for IncSearch to allow highlighting of + matched text when using :substitute's c flag. (Closes: #572994) + + 7.2.413: Largefile support for all Vim packages. (LP: #128494) + + 7.2.426: Require literal commas be escaped in 'langmap'. (Fixes + #233008, obviating upstream/langmap-comma-parsing.patch) + + 7.2.429: Specifically check for ENOENT to decide a file doesn't exist. + Also fixes the check for EFBIG/EOVERFLOW. (Closes: #430205, #139510) + + Updated runtime files: + - Fix sqlcomplete's / maps so they don't interfere with + normal usage. (Closes: #560083) + - Recognize Perl 5.10's “state” keyword. (Closes: #499644) + - Handle a wider variety of quoting operators in Perl. (Closes: + #561080) + * debian/control: + + Update Vcs-* to point to the Mercurial repository. + + Bump Standards-Version to 3.8.4, no changes needed. + * vim-policy: Update links to package descriptions and repository. + * Reword presubj to provide a few methods for narrowing down the bug's + cause. + * debian/rules: + + Specify STRIP=: when running upstream's install targets to prevent + upstream's automatic stripping. + + Pass the --with-modified-by to the Debian Vim maintainers list. + + Remove git helper targets. + + Remove get-orig-source target and related variables, since we're just + using the upstream Mercurial repository. + * debian/source/format: Switch to “3.0 (quilt)”. + * debian/README.source: Update description according to the change to + Mercurial and use of “3.0 (quilt)” source format. + * runtime/ftplugin/debchangelog.vim: Update completion of Ubuntu bugs based + on a patch from Michael Bienia. (Closes: #566841) + * runtime/syntax/{debchangelog,debsources}.vim: Remove intrepid and add + maverick to the set of Ubuntu releases. + * Use case-insensitive matching for month and day of week names in crontab's + syntax file. Thanks to Chris Butler for the patch. (Closes: #568378) + + -- James Vega Tue, 18 May 2010 18:40:17 -0400 + +vim (2:7.2.330-1) unstable; urgency=low + + * [34a85b6] Update README for patches 285 - 330 + - [1aee41b] [7.2.294] when using TEMPDIRS dir name could get too long + (Closes: #544682) + - [f3ea2c2] [7.2.300] file descriptors not closed when executing external + command (Closes: #290507) + - [f3ce928] [7.2.324] a negative column argument in setpos() may cause a + crash (Closes: #563071) + * [fd76420] Sync runtime files + - NetRW updated to handle 'equalalways' being set, but window sizes not + being equal. (Closes: #346089) + * debian/control: + - [49f131e] Add Depends: ${misc:Depends} to all binary stanzas. + - [8973628] Bump Standards-Version, no changes required + - [12ac9a3] Remove Pierre Habouzit from Uploaders. + + -- James Vega Thu, 14 Jan 2010 00:21:04 -0500 + +vim (2:7.2.284-1) unstable; urgency=low + + * syntax/debcontrol.vim: + - [b997413] Add highlighting of Breaks field (Closes: #541989) + - [05a38bf] Recognize lpia and kopensolaris-i386. (Closes: #543207) + * [a85b832] Update README for patches 246 - 259 + - [669e098] [7.2.256] GTK font dialog doesn't have a default when + 'guifont' not set (Closes: #307158) + - [f4ed8fc] [7.2.257] GTK 2.17: lots of assertion error messages (Closes: + #545168) + * [83583c3] Add Ubuntu's next release, lucid, to the Debian-related runtime + files. + * [87f3b00] update-runtime: Use -A option for git-add so deleted files + are committed. + * [60cbb45] Sync runtime files + - Updated remind.vim syntax file. (Closes: #536770) + - Fix typos in Japanese vimtutor. (Closes: #539577) + * [96dca67] Move html docs from /u/s/d/vim-common/html to /u/s/d/vim- + doc/html. + * [9fec1cd] Use usr_toc.html for the usermanual Index page. + * [fbacb18] Update README for patches 268 - 284 + - [76d3dad] [7.2.283] GTK: changing font doesn't keep the window maximized + (Closes: #466088) + * [6e51684] debsources.vim: Recognize rc-buggy (alias for experimental). + (Closes: #553525) + + -- James Vega Sun, 08 Nov 2009 16:51:59 -0500 + +vim (2:7.2.245-2) unstable; urgency=low + + * [5263ec7] Add Suggests: indent to vim-tiny since it will invoke indent + when the user tries to re-indent text without 'equalprg' set. (Closes: + #531647) + * [f24fadd] Restore previous behavior of Vim looking for its (g)vimrc in + $VIM for non vim-tiny packages. Only vim-tiny will look in /etc/vimrc. + + -- James Vega Thu, 30 Jul 2009 16:14:44 +0200 + +vim (2:7.2.245-1) unstable; urgency=low + + [ James Vega ] + * debian/rules: + - [b131ea4] Remove SHELL=/bin/bash (again) along with the bashisms + - [ac8c907] Build Vim to look for its (g)vimrc at /etc/vim/(g)vimrc, not + in $VIM. This allows Vim to find the files even if /usr isn't mounted, + in preparation for moving vim-tiny to /bin. + - [24ab3e8] Remove calls to dh_desktop since desktop files are now handled + by triggers. + - [67f3b5b] Only install the UTF-8 versions of the man pages (Closes: + #527744) + * Debian-related runtime files: + - [3071077] Remove gutsy as a valid distribution -- EOLed. + - [be3e3b7] Add avr32 as a valid architecture. (Closes: #528438) + - [1e21fa5] Fix the upload target highlighting so experimental isn't + flagged as an error. (Closes: #532027) + - [9ed9ffd] Syntax highlight X[SB]-Python-Version and + XSBC-Original-Maintainer. (Closes: #536657) + - [ab86bac] Properly highlight comments in multi-line fields in + debian/control. + * [ea1da8a] Update README for patches 149 - 191 + * [f0b6a54] Update README for patches 192 - 196 + * [6c7d809] Update README for patches 197 - 209 + * [7489ef5] vim-variant.prerm: Cleanup of mis-handled alternatives is + no longer needed + * [7be3c83] vim-variant.postinst: Remove directory->symlink code from + Etch + * Lintian cleanups: + - [0be1067] debian/control: Remove Priority fields from binary package + stanzas if they're the same as the source package stanza. + - [bfba0d4] debian/control: Add version for debhelper Build-Depends + - [6fb245c] debian/control: Remove version for make Build-Depends + - [d62624b] debian/control: Drop make from Build-Depends since we the + version we were Build-Depending on is available in Lenny and it is a + build-essential package. + - [2fd98ed] Use “set -e” instead of passing -e on the shebang line for + maintainer scripts. + - [1759cb6] Fix hyphen-used-as-minus-sign in French man pages + - [a749e25] Fix hyphen-used-as-minus-sign/manpage-has-errors-from-man in + Russian man pages + - [b9533d9] Fix hyphen-used-as-minus-sign in English man pages + - [64aeabe] Fix manpage-has-errors-from-man in Polish man pages + - [7125002] Fix hyphen-used-as-minus-sign in Italian man page + - [4f9d282] Install upstream's README file which describes the patches + made since the last major upstream release as the upstream changelog. + * [fe81bdf] Restrict spell checking in matlab filetype to + strings/comments (Closes: #509123) + * [567c06a] Add debian/update-runtime script to automate syncing the latest + runtime files from upstream's ftp site. + * [6082754] Update README for patches 210 - 239 + - [ef67fb5] [7.2.221] X cut_buffer0 text may be used in the wrong encoding + (Closes: #531372) + * [f8033cf] Sync runtime files from upstream's ftp + - Support automatically reading/writing lzma files (Closes: #535665) + * [8132670] Make NRead's behavior for HTTP consistent across backends. They + will all download source by default but some can be configured to download + rendered text. (Closes: #525422) + * [cb968f3] Update README for patches 240 - 245 + * [e1e7abe] Sync runtime files from upstream's ftp + - Add LocalCommand keyword to sshconfig.vim (Closes: #536299) + + [ Stefano Zacchiroli ] + * [5f48b8d] Removing myself from Uploaders list. + + -- James Vega Wed, 29 Jul 2009 20:18:17 +0200 + +vim (2:7.2.148-2) unstable; urgency=low + + * [0657c8d] debian/rules: SHELL really does need to be bash... + + -- James Vega Sat, 18 Apr 2009 21:21:30 -0400 + +vim (2:7.2.148-1) unstable; urgency=low + + * [a97ec6d] Remove transitional vim-{full,perl,python,ruby,tcl} + packages as they were simply needed for Etch -> Lenny transitions. + * debian/control: + - [d92f9ec] Set vim-dbg to Section: debug to match the override. + - [5677315] Bump S-V to 3.8.1.0; no changes needed. + * syntax/debcontrol.vim: + - [8089fae] Update list of valid sections. (Closes: #520041) + - [2301bbd] Add kfreebsd-amd64 to architecture list. + * [5474b86] syntax/debsources.vim: Enable spell-checking only for + comments + * [33a8ff5] helpztags: Sanity check filenames being processed. + (Closes: #523963) + * [502102f] Update README for patches 131 - 148 + - [f4547c6] [7.2.147] cursor in wrong position after Tab for small version + (Closes: #506658) + * [ab97c3c] Sync runtime files from upstream. + - Correct checks which determine whether to use the c filetype for header + files. (Closes: #524338) + - Properly escape filenames when deleting a file from NetRW. + (CVE-2008-6235) + * [1baf458] Add karmic as a valid distribution for Debian-related + runtime files. + * debian/rules: + - [e8715d6] Remove stale comment and unnecessary use of bash as $SHELL + - [b11bf9f] Build vim.pot for translations. + - [665588f] update-orig will tag/archive either the upstream or + upstream-runtime branch as the upstream source based on whether there + are differences between the two. + * [fd87319] compiler/javac.vim: Remove automatic appending of filename + to compiler command as that removes flexibility from the user. Re-opens + #408338. + * [5ef47fb] README.source: Update text to match current practice regarding + generating the orig.tar.gz and branch merging. + + -- James Vega Sat, 18 Apr 2009 15:40:09 -0400 + +vim (2:7.2.130-1) unstable; urgency=low + + * [3694d28] Update README for patches 80 - 093 + * [7a0baa7] update-patches: Redirect `which' output to /dev/null + * [6313a2e] Remove sarge and add squeeze to the Debian syntax files + * [5623ecb] Update README for patches 94 - 108 + * [a80edd8] syntax/fstab.vim: Recognize ext4 related options (Closes: + #512550) + * [813748e] Update README for patches 109 - 130 + - [9cff935] [7.2.130] Vim may haing until CTRL-C is typed when using + CTRL-Z (Closes: #516580) + + -- James Vega Thu, 05 Mar 2009 08:58:23 -0500 + +vim (2:7.2.079-1) unstable; urgency=low + + * [4d191a4] Update README for patches 50 - 065 + * [37bd8e4] Update README for patches 66 - 079 + - [43035e4] [7.2.068] error when Emacs tags file line is too long (Closes: + #507116) + * debian/update-patches: + - [38e4f12] die if lftp isn't installed + - [fe1a8f1] Set GIT_AUTHOR_DATE when committing upstream patches + * [b5182c2] Fix a few typos in the French translation (Closes: + #511002) + * [75a19d8] vim-runtime: Remove old version diversions in postinst + (Closes: #503757) + * [b170d58] debian/rules: Call dh_desktop for vim-gui-common + + -- James Vega Sun, 11 Jan 2009 13:25:53 -0500 + +vim (2:7.2.049-2) unstable; urgency=low + + * [444b68d] syntax/python.vim: Add missing contained keyword for + pythonDecoratorName (Closes: #504510) + + -- James Vega Sun, 30 Nov 2008 12:42:01 -0500 + +vim (2:7.2.049-1) unstable; urgency=low + + [ James Vega ] + * [9525410] Remove EOLd feisty and add jaunty to + syntax/{debchangelog,debsources}.vim + * [c154fa3,606fc00] Update README for patches 026 - 049 + * [233b1c9] Add recognition of PRUNENAMES variable to syntax/updatedb.vim + (Closes: #504084) + * [f7bfa57] Don't install vim alternatives for vim-tiny. vim-tiny is built + to act like vi, so the vim alternative just causes more confusion than + it's worth (by default). + * [f0116b4] Make vim-runtime Conflict vim-tiny << ${source:Version} to + ensure diversions don't cause problems when upgrading to a new major + upstream version. (Closes: #503757) + * [401c913] Include rgb.txt in vim-runtime (Closes: #505069) + * [045810d] Fix a typo in ftplugin/gitcommit.vim's comments... (Closes: + #505165) + * [b4fe540,3454e66] Correctly highlight Python decorator names. (Closes: + #504510) + + [ Stefano Zacchiroli ] + * [64d3690] policy: bump version and copyright year + + -- James Vega Tue, 25 Nov 2008 23:38:38 -0500 + +vim (2:7.2.025-2) unstable; urgency=low + + * Remove "deprecated" warnings about (g)vimrc.local from /etc/vim/(g)vimrc. + * src/if_python.c: Strip empty directories from Python's sys.path to prevent + Vim from using its current working directory as a module import path. + (Closes: #493937) + * debian/rules: Do not run tests in parallel as that may interfere with + their results. + + -- James Vega Mon, 20 Oct 2008 12:13:42 -0400 + +vim (2:7.2.025-1) unstable; urgency=low + + [ James Vega ] + * New upstream patches (011 - 025), see README for details. + * debian/update-patches: + - Clear $snapshot since 7.2 was released + - Handle the -- arg that git-sh-setup adds. + - Adjust git-sh-setup usage for git 1.6. + * Add logcheck ftplugin/detection to set tw=0. (Closes: #382986) + * Fix a typo in the Spanish vimtutor. (Closes: #495298) + * Lintian fixes: + - Remove gvim.desktop's "Encoding" key. + - Add #DEBHELPER# to vim-common.preinst. + - Add "set -e" to the maintainer scripts which were lacking it. + * debian/rules: Remove the phony install-stamp target. Thanks to Bernhard + Link for pointing this out. + * debian/control: Remove unnecessary lynx Build-Depends. + * debian/policy/Makefile: Use $(INSTALL_STUFF) to refer to the generated + files in all targets. + * debian/runtime/vimrc.in: + - Use lastest last-position-jump snippet and keep it on one line + - Remove the "in terminals" qualification of the 'mouse' option + * debian/runtime/debian.vim: Set the papersize without using the shell. + Thanks to Matt Wozniski for the idea. + * debian/vim-runtime.preinst.in: Actually populate $inst and compare it + against a valid state. + * runtime/ftplugin/perl.vim: Remove Debian-specific keywordprg setting since + upstream added their own. + + -- James Vega Sun, 12 Oct 2008 15:16:18 -0400 + +vim (2:7.2.010-2) unstable; urgency=low + + * src/normal.c: Only use the word under the cursor when constructing the + 'keywordprg' command. + * debian/control: Remove unnecessary lynx Build-Depends. + * Add missing "set -e" to vim-common and vim-runtime maintainer scripts. + + -- James Vega Fri, 03 Oct 2008 12:03:03 -0400 + +vim (2:7.2.010-1) unstable; urgency=low + + * New upstream patches (1 - 10), see README.gz for details. + - 7.2.010 correctly escapes the visually selected text used by the K + command. (CVE-2008-4101, Closes: #500381) + * Add note to NEWS about how to re-enable filetype plugins. + + -- James Vega Sat, 27 Sep 2008 14:56:03 -0400 + +vim (2:7.2.000-3) unstable; urgency=low + + * Add vim-runtime.preinst to handle removing /etc/vim/vimrc.tiny when + upgrading to 1:7.1.293-2 or later. The conffile was moved to vim-tiny and + therefore needs to be removed before the new vim-tiny is installed so dpkg + forgets about it. (Closes: #499451) + + -- James Vega Mon, 22 Sep 2008 02:01:47 -0400 + +vim (2:7.2.000-2) unstable; urgency=low + + * src/main.c: After further discussion with upstream, revert behavior of + -N/-C causing (no)compatible to be set after all startup files/plugins are + sourced, c.f. #438560. + * debian/NEWS: Remove entry from a test build + * debian.vim: Remove commented out settings since this isn't meant to be + modified by users. + * /etc/vim/vimrc: Update filetype plugin comment to correctly state that + filetype plugins aren't enabled by default. + + -- James Vega Wed, 13 Aug 2008 21:09:06 -0400 + +vim (2:7.2.000-1) unstable; urgency=low + + * New upstream release (7.2) + * debian/vim-runtime.preinst: Handle a couple of cases where files are + left-behind or diversions setup incorrectly if vim-tiny was currently + installed during the transition to vim-runtime Replacing vim-tiny. + (Closes: #492450) + + -- James Vega Sun, 10 Aug 2008 20:22:02 -0400 + +vim (2:7.2c.000-1) experimental; urgency=low + + * New upstream release candidate. + - 7.2b.026 fixes continuous disk activity after using GTK2's "Recent + Files" selector. (Closes: #456897) + - runtime/syntax/zsh.vim: Fixed highlighting of "here-string" redirection. + (Closes: #482373) + * runtime/filetype.vim: Remove duplicate apache filetype detection. + * runtime/autoload/netrw.vim: Fix deletion of incorrect file in wide display + listing. Using Jan Minář's patch from the vim-dev list. (Closes: + #492519) + * debian.vim: Do not enable 'autoindent' and filetype plugins by default. + * vim-runtime.preinst: Use proper invocation of dpkg-divert when removing + diversions. + * README.Debian: Note that securemodelines is in vim-scripts. + * runtime/syntax/tex.vim: Revert diversions from upstream for packages + upstream author doesn't support. + * debian/rules: Instruct configure not to look at /usr/local for + includes/libs. + + -- James Vega Thu, 07 Aug 2008 12:25:41 -0400 + +vim (2:7.2b.001-1) experimental; urgency=low + + [ James Vega ] + * New upstream release candidate and patch (001), see README.gz for details. + - 7.2a.004 use wget/curl/fetch if available for downloading spellfiles. + (Closes: #487221) + - runtime/autoload/netrw.vim: + + No longer creates an "undeletable" buffer when 'hidden' is set. + (Closes: #482776) + + Screen is redrawn after invoking external file handler. (Closes: + #487120) + + Hidden files are correctly opened when using NetRW's wide listing. + (Closes: #487385) + + Escaping of filenames cleaned-up which allows opening BTS attachments + again. (Closes: #488557) + - runtime/autoload/netrwsettings.vim: Remove use of non-existent + variables. (Closes: #488881) + - runtime/syntax/sh.vim + + Use stricter matches for shell loop control. (Closes: #486114) + * Bump epoch and use a saner format for the snapshot versioning. + * runtime/syntax/debcontrol.vim: Hilight DM-Upload-Allowed in control files + (Closes: #485119) + * runtime/filetype.vim: + - Udev filetype detection should match /etc/udev/*.rules not /etc/udev.d + - Remove duplicate debcontrol detection + - Detect .ptl files as python. Thanks to Santiago Ruano Rincón for the + patch. (Closes: #399784) + * debian/control: + - Add libxt-dev Build-Depends. + - vim-runtime Depends dpkg (>= 1.14.20) for sane dpkg-divert behavior. + * debian/rules: + - Update handling of DEB_BUILD_OPTIONS according to policy 3.8.0 + - Explicitly call upstream's installgtutorbin target + - Add a manpage for gvimtutor by symlinking to the vimtutor manpage. + - Remove needless branch checkouts from update-orig target. + * debian/update-patches: + - Update for 7.2b beta. Cleanup some code. + - Redirect git-show's stderr to /dev/null. + - Remove an erroneous comment. + - Include the patch number in the summary. + - Use git add debian/README instead of specifying the file to git-commit + - Fix syntax of an if block. + - Ignore leading 0's in patch numbers so they aren't treated as octal. + - Improve handling when fetching the first patch to a new release. + * debian/vim-runtime.links: Add gvimtutor.1 symlink. + * debian/vim-runtime.install: Use the upstream-installed gvimtutor instead + of the one from the src directory. + * debian/vim-common.install: Explicitly list which manpages are installed to + vim-common instead of installing all of /usr/share/man and sorting it out + in debian/rules. + * debian/vim-common.links: Remove listed symlinks which are generated by + debian/rules. + * runtime/syntax/debcontrol.vim: Accept http URIs as valid for Vcs-Git. + Thanks to martin krafft for the patch. (Closes: #489853) + * runtime/tools/vimm: Use printf instead of echo to avoid bashisms. + (Closes: 489667) + * src/ui.c: Remove "#if defined" checks around check_col/check_row + definitions to fix a compile error when building vim-tiny. + * debian/vim-runtime.preinst, debian/vim-runtime.postrm: + - Remove special handling of adding/removing diversions now that + dpkg-divert behavior is fixed (and migrated). + - Add vim72a to the list of previous diversions to remove on upgrade (if + only dpkg handled diversions internally...) + + [ Gerfried Fuchs ] + * runtime/syntax/debchangelog.vim: package names are allowed to start off + with alphanumeric, not only alpha. + + -- James Vega Mon, 14 Jul 2008 10:38:52 -0400 + +vim (1:7.2.0~a-1) experimental; urgency=low + + * New upstream release candidate. + - Setting 'pastetoggle' to a multi-key string works again. (Closes: + #424033) + - Match offsets work correctly with multi-byte characters. (Closes: + #441785) + - GNU Screen is detected as supporting xterm mouse codes. + * Merged upstream: + - src/spell.c: Check for EOF while reading the spelllang file in case it + is a corrupt file. + * debian/README: + - Removed until upstream adds one for 7.2 + * debian/rules: + - Update upstream version to 7.2a snapshot + * debian/vim-runtime.preinst: + - The diversions we use are under a versioned directory based on the major + upstream version. Need to remove the diversions for the vim71 + directory. + * Change the shebang lines in all maintainer scripts back to #!/bin/sh since + we no longer use bashisms. + * debian/lintian/vim-runtime: + - Generate this file in debian/rules so the override always has the right + versioned directory. + + -- James Vega Thu, 26 Jun 2008 12:49:16 -0400 + +vim (1:7.1.314-3) unstable; urgency=high + + * Update runtime files affected by the filename escape vulnerability. + (CVE 2008-2712, Closes: #486502) + * debian/vim-runtime.preinst: + - Only add the diversions if the preinst is called with the "install" or + "upgrade" (to handle the previous mishandling in postrm) arguments. + * debian/vim-runtime.postrm: + - Only remove the diversions if the postrm is called with the "remove" + argument. (Closes: #486446) + * runtime/menu.vim: + - Escape the buffer name when using the "Window -> Split File Explorer" + menu item. (Closes: #486417) + + -- James Vega Tue, 17 Jun 2008 11:12:18 -0400 + +vim (1:7.1.314-2) unstable; urgency=low + + * debian/rules: + - Tell configure to only check the GUI toolkit specific to the variant + being built. (Closes: #486319, #486336) + * runtime/ftplugin/debchangelog.vim: + - Merge Launchpad bug completion from Ubuntu. + - Specify the full path when calling apt-listbugs instead of relying on + /usr/sbin being in the user's path. + - Improve error handling for Launchpad bug completion. + + -- James Vega Sun, 15 Jun 2008 12:42:38 -0400 + +vim (1:7.1.314-1) unstable; urgency=low + + * New upstream patches (294 - 314), see README.gz for details. + - SELinux support merged upstream + * Update NetRW to version 125n (pre-release). + - Calculate length of multi-byte strings properly. (Closes: #474609) + - Display/navigate symlinks to directories properly. (Closes: #474980) + * Update vim-git runtime files. + * debian/update-patches: + - Fix determination of patch level from last commit. + - Use debian:debian/README to determine current patch level. + - Don't exit on error since that prevents correcting merges. + - Use a standard commit message for debian/README. + * runtime/ftplugin/debchangelog.vim: + - NewVersion() should only call foldopen if folding is enabled. + * runtime/macros/justify.vim: + - Calculate strlen for multi-byte strings properly. (Closes: #481115) + * debian/rules: + - Make use of upstream's "shadow" directories so the variants can be built + in parallel. + - Remove .NOTPARALLEL to allow parallel building. + - Remove useless dh_shlibdeps call in the binary-indep target. + - Remove autoconf-stamp target since we're no longer patching configure. + * debian/vim-runtime.install: + - Add new gvimtutor to vim-runtime package. + * Very carefully divert vim-tiny's help.txt and helptags so they will still + be in place if vim-runtime is removed. + * debian/control: + - Remove vim-runtime's Replaces of vim-tiny since the conflicting files + are now handled by diversions. + + -- James Vega Tue, 10 Jun 2008 22:28:10 -0400 + +vim (1:7.1.293-3) unstable; urgency=low + + * runtime/syntax/debchangelog.vim,debsources.vim: + - Update the list of supported Ubuntu releases. + * debian/policy/vim-policy.xml: + - Remove svn keywords since it's not being stored in svn anymore. + * debian/vim-variant.postinst: + - Remove switching on $1 since it's safe to always add the alternatives. + * debian/vim-variants.prerm: + - Add removal of alternatives during deconfigure. (Closes: #411697) + * debian/README.Debian: + - Add information about mimicing Vim's default modeline behavior and the + securemodelines plugin. (Closes: #479060) + * debian/rules: + - Separate build-arch and build-indep targets so Vim's policy document + aren't built on the buildd's (thus avoiding the openjade segfault on + arm). + * debian/control: + - Move docbook-utils and docbook-xml to Build-Depends-Indep + * src/if_python.c: + - If building against Python 2.5, use ssize_t instead of int according to + PEP 353. + + -- James Vega Sun, 04 May 2008 14:11:17 -0400 + +vim (1:7.1.293-2) unstable; urgency=low + + * debian/rules: + - Fix expansion of @VIMCUR@ in vimrc.tiny. Based off a patch by Daniel + Hahler. (Closes: #477379) + - Create a separate install-stamp-vim-tiny target. + - Add the proper lines for vimrc.tiny to vim-tiny.{install,links} in the + install-stamp-vim-tiny target. + * debian/control: + - Correct the vim-common and vim-runtime descriptions with regard to + vimtutor. + - Add Conflicts/Replaces to vim-tiny against vim-common since + /etc/vim/vimrc.tiny is moving to the vim-tiny package. + * runtime/syntax/messages.vim: + - Support highlighting of RFC3339 timestamps. (Closes: #475568) + * runtime/scripts.vim: + - Detect Mozilla Thunderbird's mbox file as mail filetype. Thanks to + Kevin B. McCarty for the patch. (Closes: #475300) + * runtime/filetype.vim: + - Add detection of more passwd/shadow related files. Based on a patch by + Jarek Kamiński. (Closes: #420304) + - Improve filetype detection of strace logs. Thanks to Philipp Marek for + the patch. (Closes: #473967) + - Add filetype detection of more Apache config files. Thanks to Josh + Triplett and Xavier Guimard for the patch. (Closes: #421312) + - Fix a missing comma in the cron filetype detection. + + -- James Vega Wed, 23 Apr 2008 13:46:26 -0400 + +vim (1:7.1.293-1) unstable; urgency=low + + * debian/control: + - Add Provides for vim-{ruby,python,perl,tcl} to any variant that supports + those language bindings since some packages benefit from being able to + specify a Depends on a vim package with support for a specific language. + - Only Build-Depend on libselinux1-dev for linux systems. + - Remove Provides from the transition packages. + * runtime/filetype.vim: + - Use "setf" instead of "set ft" when setting the filetype to git so that + we don't override another filetype which may have been set during + filetype detection. + * runtime/syntax/debchangelog.vim: + - Cleanup the list of recognized releases and add + oldstable-proposed-updates/proposed-updates. + + -- James Vega Tue, 15 Apr 2008 22:19:36 -0400 + +vim (1:7.1.291-1) unstable; urgency=low + + * Lintian cleanups + - Change doc-base section to Editors. + - Remove Encoding key from desktop entry. + * New upstream patches (286 - 291), see README.gz for details. + * Add SELinux support (Closes: #474102) + - Vim patch taken from Fedora's Vim packaging + - Thanks to Vaclav Ovsik for the patch to the Debian packaging. + * Fix indentation of Perl files when folding is enabled. Thanks to Gregory + Hainaut for the patch. (Closes: #473660) + * debian/control: + - Add libselinux1-dev and autoconf Build-Depends. + * debian/rules: + - Rule & dependency added for rebuilding src/auto/configure. + - Add update-orig target to prep a new upstream+patches orig.tar.gz for + release. + + -- James Vega Tue, 08 Apr 2008 02:24:11 -0400 + +vim (1:7.1.285-1) unstable; urgency=low + + * Repack upstream tarball so we're no longer using tarball(s)-in-tarball. + * New upstream patches (267 - 285), see README.gz for details. + - 7.1.277 adds recognition of a few extra groff macros (TP, HP, Pp, Lp, + and It) in the default 'paragraphs' option. (Closes: #468924) + * Updated runtime files: + - syntax/sh.vim: + + No longer mishighlight parenthetical expressions inside arithmetic + expansions. (Closes: #468366) + - syntax/debcontrol.vim: + + Fix syntax highlighting for Vcs-Svn field to accept svn+ssh and remove + the leading "svn+" from http URLs. (Closes: #472201) + - syntax/debsource.vim: + + Add lenny as a recognized distribution. + + Add debtorrent, ssh, rsh, cdrom, and copy URIs. (Closes: #471556) + - filetype.vim + + Add .dpkg-{old,dist} to the list of extensions which are ignored + when determining filetype. (Closes: #421314) + + Recognize /etc/cron.d/* as crontab filetype. (Closes: #472375) + - Change the debchangelog and debcontrol ftplugins to require enabling of + folding instead of folding by default. + * Make debian/tiny/vimrc.tiny.diff a proper patch that is always applied and + update it to only be enabled when TINY_VIMRC is defined. + * debian/rules: + - Remove the special-case targets for vim-tiny and add -DTINY_VIMRC to the + CFLAGS used when building vim-tiny. + - Cleanup dead/useless code from the makefile. + - Restrict 'make test' from running unless build and host types are the + same. + - Allow vim-gnome to build on non-linux-gnu systems. + - Only enable gpm on linux-gnu systems. + - Automatically specify the Vim version when generating helpztags.1. + - Add .NOTPARALLEL target. + - Only run 'make distclean' if configure has already been run. + - Remove patch, unpatch, extract targets/prerequisites now that the + upstream source is directly unpacked in the tarball. + - Simplify get-orig-source so there's only one set of commands that + are run regardless of whether it's a normal or snapshot release. + * debian/control: + - Remove the [!hurd-i386] qualifier from libgnomeui-dev Build-Depend. + - Remove quilt from Build-Depends. + - Change Vcs-* fields to point at the git repo. + * Adjust 'modeline' help to indicate that Debian defaults it to off. + * Update README.Debian and FAQ to reflect the deviation from + upstream's 'modeline' default. (Closes: #472522) + * Remove NEWS entries relevant to stable or earlier releases. + + -- James Vega Sun, 30 Mar 2008 12:39:51 -0400 + +vim (1:7.1-266+1) unstable; urgency=low + + [ James Vega ] + * New upstream patches (246 - 266), see README.gz for details. + - 7.1.265 fixes an infinite loop when is included in 'isfname' and + the user tries to complete a filename. (Closes: #465163) + - 7.1.266 fixes an issue where Vim would stop parsing a terminal response + early, causing the rest of the response to be interpreted as key presses + from the user. (Closes: #466789) + * debian/control: + - Build-Depend on tcl-dev instead of tcl8.4-dev per Tcl/Tk policy. + * Added patches: + - make.vim-syntax.diff: + + Add recognition of more function names. (Closes: #465912) + * Removed patches: + - configure-tcl_detection.diff: + + Accepted upstream and merged as 7.1.257 + * Add debian/watch file. + * debian/rules: + - Add a get-orig-source target. + + [ martin f. krafft ] + * add Tim Pope's vim-git integration (v1.1, commit a53cabb) to vim-runtime. + + [ James Vega ] + * Correct a typo in /etc/vim/vimrc's (Closes: #467057) and eval.txt's (via + new last-position-jump.diff patch) 'last-position-jump' code snippet which + would cause it to fail if the g key were remapped. + * runtime/syntax/debcontrol.vim: + - Ignore case for control file keys + - Match case for control file values + - Improve syntax matching for Vcs-Svn, Vcs-Git, and Vcs-Cvs field values. + - Match URLs for Vcs-Arch, Vcs-Bzr, Vcs-Darcs, Vcs-Hg. + - Recognize more fields as multi-line. + - Use the 'keepend' qualifier for the Vcs-* syntax regions to prevent + mishighlighting of debcontrolHTTPUrl matches. (Closes: #466338) + * debian/control: + - Add "Provides: vim" to all vim variant packages. (Closes: #447714) + + -- James Vega Wed, 27 Feb 2008 12:12:26 -0500 + +vim (1:7.1-245+1) unstable; urgency=low + + * New upstream patches (242 - 245), see README.gz for details. + - 7.1.244 fixes an issue where a maximized gvim window would size itself + larger than the size of the workspace, cutting off part of the + command-line. (Closes: #378311) + * debian/control: + - Add libacl1-dev to Build-Depends so it actually builds with acl support. + Thanks to Lucas Nussbaum's dirty chroot builds for noticing this. + - Change TCL to Tcl in the package descriptions. + * New patches: + - option.c-langmap_comma.diff: + + Improves parsing of 'langmap' to follow the behavior specified in the + help. Commas need to be escaped if they're being used literally + instead of as a list separator. (Closes: #233008) + - commandline-compatible.diff: + + If either -N/-C options are given on the command line, set + 'nocompatible'/'compatible' after sourcing of the startup files + finishes. (Closes: #438560) + * Refreshed patches: + - vimrc.tiny.diff + * Register the justify and editexisting plugins for use with + vim-addons-manager. + - justify.vim right and left aligns text by inserting extra spaces into + the specified text. (Closes: #431945) + - editexisting.vim will attempt to bring a running gvim to the foreground + if 1) only one filename was given when invoking Vim and another Vim + instance is editing it or 2) a swapfile for a file exists. (Closes: + #316541) + * debian/rules: + - Add patch/unpatch targets. + - Fix how quilt is invoked so it doesn't use the local user's settings. + Thanks to Teemu Likonen for the patch. (Closes: #463775) + * debian/copyright: + - Adjust copyright string (capitalize the C) so it's recognized by + Lintian. + + -- James Vega Mon, 11 Feb 2008 10:27:17 -0500 + +vim (1:7.1-241+1) unstable; urgency=low + + * New upstream patches (232 - 241), see README.gz for details. + * Remove vim-gui-common.menu and provide one menu file for each gvim + package. (Closes: #461805) + * debian/control: + - Re-add ruby1.8 Build-Depends since that's required for Vim to detect + that it can build with Ruby support. (Closes: #462284) + * Updated patches: + - netrwPlugin.vim-bwipe.diff: + + Do a full refresh of NetRW since the functionality is spread out among + multiple files. + - python.vim-ftplugin_include.diff: + + Fix an unescaped backslash so the option correctly matches whitespace + instead of the letter s. + * Removed patches: + - patches/ruby.vim-ftplugin_ri.diff: + + The ruby.vim in 7.1 already handles what the feature the patch was + adding. (Closes: #462418) + + -- James Vega Thu, 24 Jan 2008 16:54:49 -0500 + +vim (1:7.1-231+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (176 - 231), see README.gz for details. + - 7.1.227 fixes an issue where syntax highlighting could cause Vim to + hang. (Closes: #400771) + + [ James Vega ] + * debian/control: + - Bump policy version to 3.7.3.0 - no changes needed. + - Drop Build-Conflicts on old version of libperl-dev. + - Drop versioning from Build-Depends that are available in Sarge. + - Drop unnecessary ruby and perl Build-Depends. + - Suggest ttf-dejavu instead of ttf-bitstream-vera for the gvim packages. + (Closes: #461295) + - Remove dpkg Pre-Depends now that dak is accepting data.tar.bz2. + * runtime/syntax/debchangelog.vim: + - Adjust the "Closes" syntax highlighting to allow newlines as part of the + whitespace. (Closes: #460074) + - Recognize lenny-backports/lenny-volatile. (Closes: #461059) + * runtime/syntax/debcontrol.vim: Add s390x, sh3, sh3eb, sh4, sh4eb to the + list of recognized architectures. (Closes: #455993) + * Added patches: + - configure-tcl_detection.diff: + + Update Vim's configure script to detect Tcl again after the Tcl + maintainers' decision to move /usr/lib/tcl8.4/ to + /usr/share/tcltk/tcl8.4/. + - tex.vim-syntax_additions.diff: + + Disable spell checking for verbatim sections. (Closes: #445295) + - netrwPlugin.vim-bwipe.diff: + + Call bwipe when opening file:// URLs to remove the extra buffers that + get created. Their creation is inevitable but this will clean up the + buffer list. (Closes: #370082) + - filetype.vim-udev.d.diff: + + Detect /etc/udev.d/*.rules files as 'udevrules' instead of 'hog' + filetype. (Closes: #437434) + - vimspell.sh-typo.diff: + + Fix a missing end-quote in tools/vimspell.sh. + - mve.awk-interpreter.diff: + + Adjust the #! line to use awk instead of nawk. + * Updated patches: + - fstab.vim-syntax.diff: + + Added more sshfs support based on feedback from upstream. + * Removed patches: + - gui_gtk_x11.c_g_thread_init.diff: + + This patch was initially added to silence a GLib warning (#428854) + which isn't occurring anymore. + * Stop removing vimspell, vim132, and maze from the runtime tools/ + directory. The issues leading to their removal should be addressed + instead of removing them from the package. + - vimspell - The tempfile vulnerability (CAN-2005-0069) has been fixed + upstream for some time now. + - vim132 - Add lintian overrides for "csh is harmful" and not having a + Depends/Recommends/Suggests on tcsh | csh. This is the only file in the + package that would use the shell and its an example script. + - maze - maze.c doesn't work properly and its README suggests this may be + the case on newer compilers and to use mazeansi.c, which does work. + + -- James Vega Thu, 17 Jan 2008 13:50:30 -0500 + +vim (1:7.1-175+2) unstable; urgency=low + + * runtime/syntax/debcontrol.vim: + - Reworked the URL regex so that it should properly match any non-local + domain name as specified in RFC 1738. + * debian/rules: + - Use bzip2 to compress the vim-runtime package. + * Add tex.vim-update.diff, which syncs from upstream to fix some folding + issues. (Closes: #456168) + * debian/control: + - Add Pre-Depends on dpkg (>= 1.10.24) for vim-runtime to please dak even + though Sarge has a newer dpkg. + + -- James Vega Tue, 18 Dec 2007 09:13:59 -0500 + +vim (1:7.1-175+1) unstable; urgency=low + + [ James Vega ] + * debian/rules: + - Add LDFLAGS="-Wl,--as-needed" when calling configure. + * Fix a typo in debsources.vim-syntax.diff. (Closes: #454672) + + [ Debian Vim Maintainers ] + * New upstream patches (168 - 175), see README.gz for details. + + [ James Vega ] + * Add spellfile.vim-doc.diff, which explains that a writable spell directory + must exist for the plugin to download spell files. (Closes: #421045) + * Lintian cleanup: + - Remove /usr/share/vim/addons/plugins/ from vim-common.dirs. + - Remove /usr/share/vim/vim71/tools/vim132 to silence a warning and error + about csh. + - Remove /usr/share/consolefonts/ from vim-runtime.dirs. + - Remove /usr/share/doc/vim-common/html/policy/ from vim-doc.dirs. + - Override the "desktop-command-not-in-package" warning for + vim-gui-common. We make use of TryExec which should prevent the menu + entry from showing up if none of the gvim-providing packages are + installed. + * Move Vim's policy documentation to /usr/share/doc/vim-common/ instead of + being under a separate policy/ directory. + * runtime/ftplugin/debcontrol.vim: Correct a function definition to use !. + (Closes: #454933) + * runtime/syntax/debcontrol.vim: Don't require a three part domain for the + Homepage field. (Closes: #455341) + * Install the presubj file under /usr/share/bug/ for every vim variant, not + just vim. + * Add versioned Conflicts/Replaces on vim-common for the vim package since + it contains /usr/share/bug/vim/presubj now. + + -- James Vega Sun, 09 Dec 2007 17:42:17 -0500 + +vim (1:7.1-167+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (139 - 167), see README.gz for details. + - 7.1.147 fixes a crash when tab completing a user's home directory. + (Closes: #453049) + - 7.1.167 fixes a crash with large values for the -c option of xxd + (Closes: #452789) + + [ James Vega ] + * runtime/ftplugin/debchangelog.vim: + - Fix NewVersion() to use the distribution from the previous changelog + entry. (Closes: #446728) + - Fix NewVersion() to increment the version of the first changelog entry + regardless of how 'startofline' is set. + * runtime/syntax/debchangelog.vim: + - Recognize oldstable* upload targets. + * Refreshed patches: + - vimrc.tiny.diff + * Added patches: + - sh.vim_syntax.diff, which fixes the syntax highlighting of escaped + single-quotes and comments. (Closes: #425443, #425797) + - gnuada.diff, which updates the ada runtime files so they gracefully + handle the user not having certain variables defined. (Closes: #440221) + * syntax/debcontrol.vim: + - Add syntax highlighting for Vcs-* control fields. (Closes: #448543) + * Bump debhelper compat to 5. + * debian/vim-runtime.install: + - Remove usr/share/consolefonts/* since that's not shipped any more. + * debian/control: + - Add vim-dbg package to supply debugging symbols for the various vim + packages. + - Fix a typo in the long description for the vim package. + - Make use of multi-line (Build-)Depends support. + * debian/rules: + - Add binary-arch target for the vim-dbg package. + * debian/gvim.desktop: + - Add TryExec key so the menu entry is only shown if the gvim alternative + has been setup. + * Merges from Ubuntu: + - runtime/syntax/debcontrol.vim: + + Recognize restricted, universe, multiverse as part of the Section + field. + + Recognize XSBC-Original-Maintainer as a legal field. + - runtime/syntax/debchangelog.vim: + + Recognize Ubuntu releases as upload targets. + + Recognize syntax for closing Launchpad bugs. + - Add debsources.vim-syntax.diff: + + Recognize restricted, universe, multiverse Sections. + + Add more recent Ubuntu releases as recognized distributions. + + [ Stefano Zacchiroli ] + * debian/README.Debian + - fix typo in vim policy URL (Closes: #452555) + + [ James Vega ] + * Add lhaskell.vim-syntax.diff, which restricts the matching of % to the + beginning of the line when determining if the file is a TeX document. + Thanks to Chung-chieh Shan for the patch. (Closes: #451440) + * Add fstab.vim-syntax.diff, which adds support for sshfs syntax. + (Closes: #451754) + * Add filetype.vim-debfiles.diff, which improves detection of debcontrol and + debsources files. Thanks to Loïc Minier for the debsources part of the + patch. (Closes: #435552) + * debian/control: + - Remove Norbert Tretowski from Uploaders with his permission. Thanks for + all your work. + + -- James Vega Mon, 03 Dec 2007 15:53:27 -0500 + +vim (1:7.1-138+1) unstable; urgency=medium + + [ Debian Vim Maintainers ] + * New upstream patches (136 - 138), see README.gz for details. + + [ James Vega ] + * Fix the lintian override files to match Lintian's output. + * debian/rules + - Remove a useless command from the variant clean target + - Clean vim-tiny's generated debhelper files + - Clean generated vim-policy files + * Brown-paper bag bug in vim-full.preinst. Need to grep for bin/vim.full + not vim/vim.full. (Closes: #446462) + + -- James Vega Sat, 13 Oct 2007 12:45:04 -0400 + +vim (1:7.1-135+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (057 - 135), see README.gz for details. + - Patch 125 corrects Vim's TermResponse autocmd behavior. + (Closes: #436452) + + [ Stefano Zacchiroli ] + * debian/control + - removing idle contributors from the Uploaders field + + [ James Vega ] + * Add a slave link for gnome-text-editor.1.gz when we add the + gnome-text-editor alternative. (Closes: #439549) + * Update debcontrol.vim.diff to recognize "Homepage:" (Closes: #443444) and + "XS-Vcs-*:" fields. + * Update patches/filetype.vim-better_tex_vs_plaintex.diff so it properly + escapes the pattern alternator (|) when determining whether the file is + latex. Thanks Martin Krafft. (Closes: #444346) + * Update patches/debchangelog-ftplugin.vim.diff to remove an extra + "foldopen" command. (Closes: #441315) + * Add de.po.diff to fix the translation of "Load File". Thanks Torsten + Werner. (Closes: #443529) + * Add samba.vim.diff which fixes the highlighting for "smb ports". Thanks + Alberto Reyes. (Closes: #386064) + * Add tex.vim-syntax_additions.diff, which adds syntax highlighting for + acronyms, URLs, and citetest. (Closes: #444411, #444408, #444301) + * Update menu file to use Applications instead of Apps and to require the + gvim package to be installed in order to display the entry. + * Update desktop file to remove legacy category. + * debian/rules: + - Remove vim-{python,perl,tcl,ruby,full} variants. + - Add vim-nox which has all language bindings but no X requirement. + - Include all language bindings when building vim-gtk. + * debian/control: + - Add Homepage field. + - Remove Build-Depends on dpkg and dpkg-dev since the specific versions we + need are older than what's in stable. + - Make vim-full a transition package Depending on vim-gnome. + - Make vim-{python,perl,tcl,ruby} transition packages Depending on + vim-gtk. + + -- James Vega Sun, 07 Oct 2007 15:47:26 -0400 + +vim (1:7.1-056+2) unstable; urgency=low + + * Brown paper bag release -- vimrc.tiny should not be calling :let since + vim.tiny doesn't support that command. Copy the 'runtimepath' setting to + vimrc.tiny since that was the only reason we needed the :let and + "runtime! debian.vim" commands. (Closes: #436925) + + -- James Vega Thu, 09 Aug 2007 10:57:51 -0400 + +vim (1:7.1-056+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (023 - 056), see README.gz for details. + + [ Pierre Habouzit ] + * Make sure reportbug vim/presubj is named that way, without a `vim.` prefix + making reporbug skip it. + + [ Stefano Zacchiroli ] + * Add a entry to debian/NEWS describing why /usr/share/vim/addons/ is no + longer in the runtimepath and pointing to the appropriate documentation + + [ James Vega ] + * Add verilog.vim_ftplugin-cpoptions.diff, which locally enables line + continuations for the ftplugin in order to prevent an error when being run + in vi-compatible mode. (Closes: #430372) + * Build vim with the huge feature set to pull in +profile (the only + difference between the big and huge feature sets). + * Remove the !hurd-i386 restriction from the tcl8.4-dev Build-Depends now + that the package exists on hurd-i386. This allows building the vim-tcl + package for hurd-i386. (Closes: #434435) + * Remove the hacks we were doing to try and build vim-tiny with extra + features. Simply build vim-tiny using Vim's "small" feature set. This + removes a number of features but allows the package to build with the + current upstream patches. This also lessens the maintenance burden since + we no longer have to figure out which features to enable via trial and + error. + * debian/rules: + - Separate out {clean,configure,build}-stamp-vim-tiny targets + - Move the handling of the vimrc.tiny patch to the new *-vim-tiny targets. + - Remove configure-stamp* files in the clean target. + - Move the fake help files for vim-tiny from /usr/share/vim/doc to + /usr/share/vim/$VIMCUR so the user can actually see them when invoking + :help. + * Add ruby.vim_indent.diff, which fixes some improper indenting for Ruby + files. (Closes: #431212) + * Refresh vimrc.tiny.diff + * Add index.txt.diff, which adds some missing cross-references to the index + of Vim commands. (Closes: #434447) + * debian/control: + - Remove Conflicts/Replaces on packages that are older than Etch. + - Add a Replaces to vim-runtime since it ships files that overwrite files + in vim-tiny. + - Add a Conflicts to vim-tiny for earlier versions of vim-runtime to make + sure we don't attempt to overwrite files in versions of vim-runtime that + don't Replace vim-tiny. + + -- James Vega Wed, 08 Aug 2007 00:18:16 -0400 + +vim (1:7.1-022+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (001 - 022), see README.gz for details. + + Load all matching files in $VIMRUNTIME when using ":syn include" + (Closes: #395517) + + [ James Vega ] + * Add changelog.vim-date_end_entry.diff, which fixes a variable name which + is let in changelog.vim. (Closes: #424224) + * Remove 'viminfo' and 'textwidth' settings from $VIMRUNTIME/debian.vim. We + were uselessly setting 'textwidth' to the default value and 'viminfo' to + an almost-default but less useful value. + * Add Makefile_no-strip.diff, which removes the calls to strip in upstream's + makefile. We'll handle that in debian/rules. + * gvim.desktop should be using %F instead of %U to specify the filename. + (Closes: #406586) + * Remove debian/vim-{doc,variant,gui-common,common}.preinst, + debian/vim-common.postinst as they all handled special procedures for + upgrading from Sarge. + * debian/control + - Clarify the package description for the vim package to indicate it does + not provide a GUI version of Vim. + * debian/rules + - Update the extract and clean targets to not fail if quilt exits with + $? == 2. Also, remove the .pc directory in the clean target. + - Remove preinst from the list of per-variant files + * Add spell.c_getc-eof.diff, which causes Vim to stop reading a truncated + spellfile when it reaches EOF. + * debian/runtime/debian.vim.in + - set 'nomodeline' by default since modelines have historically been a + source of security/resource vulnerabilities. Users should have to + explicitly enable the option to assume the associated risks. + * Add gui_gtk_x11.c_g_thread_init.diff, which prevents a glib warning + related to glib 2.10's Memory Slices and threads. (Closes: #428854) + + [ Stefano Zacchiroli ] + * Add javac_cmdline-vim.diff, which fixes the invocation of the javac + compiler. (Closes: #408338) + * Add debchangelog-closes_omni.vim.diff, which add omni completion support + for "Closes: #..." retrieving data from the BTS via apt-listbugs + * Added the new Debian Vim Policy to the "vim-doc" package, overriding the + old unenforced one + * debian/runtime/debian.vim.in + - removing /usr/share/vim/addons/{,after/} from the vim runtimepath: + according to the VIM policy addons should not be enabled per default, + but manually using vim-addon-manager + * debian/control + - added build deps on docbook stuff to build the policy (note that this + includes lynx, due to #387035) + * Add map.vim-syntax.diff which ships syntax file for UMN map server + (Closes: #355900) + + -- James Vega Sat, 07 Jul 2007 15:04:57 -0400 + +vim (1:7.1-000+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream release (7.1) + + [ James Vega ] + * debian/rules: + + Remove extraneous update-snapshot target since snapshots are being + handled similar to normal releases, but in a different directory on the + ftp server. + * upstream/patches: + + Remove all the 7.0 patches + * Removed patches: + + de.po.diff, applied upstream. + + zsh.vim-nested_quotes.diff, New upstream rewrite fixes the same problem + as our patch. + + mp.vim-cmd_check.diff, applied upstream. + + html.vim-syntax_spell.diff, applied upstream. + + changelog.vim-ftplugin_buffer-split.diff, applied upstream. + + netrw.vim-tmpfile_suffix_escape.diff, applied upstream. + * Refreshed patches: + + php.vim.diff, simple rediff against new upstream. + + dosini.vim-hash_comment.diff, simple rediff against new upstream. + * Updated patches: + + debchangelog-ftplugin.diff + - Call foldopen silently so Vim doesn't error if there are no folds. + (Closes: #416184) + - Allow users to "let g:debchangelog_fold_disabled" to disable automatic + folding of debchangelogs. 'foldexpr' and 'foldtext' will still be set + but 'foldmethod' will not be set to 'expr'. + + -- James Vega Sat, 12 May 2007 13:24:27 -0400 + +vim (1:7.0-219+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (165 - 219), see README.gz for details. + + [ Stefano Zacchiroli ] + * vim-addons support: + - converted to YAML the registry entry for matchit + * debian/control + - added XS-Vcs-Browser field + + [ James Vega ] + * Fix the file test for deciding whether we need to remove alternatives to + properly transition the Russian manpage alternatives. + * Fix the handling of the stale diversion when /usr/bin/vim.org is already + missing. + * Fix the handling of alternatives which pointed at the stale alternative so + the alternative isn't changed from auto to manual. + * Remove the 'iskeyword' setting in Ruby's ftplugin as suggested by Tim + Pope in #389332. + * Add patches/netrw.vim-tmpfile_suffix_escape.diff, which escapes the suffix + of the tmpfile filename. + + -- James Vega Tue, 20 Mar 2007 18:27:27 -0400 + +vim (1:7.0-164+3) unstable; urgency=low + + [ James Vega ] + * Remove the patch notes for patches after 164 in debian/README. Forgot + about those when removing the patches from svn to prepare the last upload. + + -- James Vega Sun, 14 Jan 2007 10:13:00 -0500 + +vim (1:7.0-164+2) unstable; urgency=medium + + [ James Vega ] + * debian/vim-variant.preinst: + + Move diversion removal here from vim-variant.postinst. Manually remove + /usr/bin/vim in order to be able to remove the diversion. Fixes + upgrades from Sarge leaving behind stale binaries. (closes: #401000) + + Remove the alternatives for ru.{UTF-8,KOI8-R} manpages so the + alternatives system doesn't attempt to keep the links around after the + upgrade. Fixes upgrades from Etch. (closes: #399024) + + -- James Vega Thu, 4 Jan 2007 01:50:25 -0500 + +vim (1:7.0-164+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (159 - 164), see README.gz for details. + + [ James Vega ] + * Shipped tags file was being regenerated (closes: #397837) + - Do not pre-generate tags file, vim-runtime's postinst is already + handling tag generation + - Remove tags file in vim-runtime's postrm + * Add Provides: editor to the gvim variants. (closes: #398572) + * Remove the empty vim-variant.postrm. + * Move the Russian KOI8-R man pages to /usr/share/man/ru/man1 and remove the + utf8 man pages. man will handle the conversion. (closes: #368754) + + -- James Vega Wed, 15 Nov 2006 08:48:51 -0500 + +vim (1:7.0-158+1) unstable; urgency=medium + + [ Debian Vim Maintainers ] + * New upstream patches (153 - 158), see README.gz for details. + - Do not let the fold level become negative. (closes: #395413) + * Urgency medium since #396934 affects other packages. + + [ James Vega ] + * Add vim-runtime.postinst which runs helpztags so that we don't break the + help for other Vim addons everytime vim-runtime is upgraded. + (closes: #396934) + * Update the vim-basic install target in debian/rules to not rely on the + vimcurrent symlink before it has been setup. + + -- James Vega Mon, 6 Nov 2006 22:41:59 -0500 + +vim (1:7.0-152+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (123 - 152), see README.gz for details. + - Correct the button order in the GTK+ file chooser dialog so that it + matches the GNOME Human Interface Guidelines. (closes: #367639) + + [ James Vega ] + * Bump vim-common's priority to important to match the override. + * Remove patch gui_gtk.c-abs_path.diff, merged upstream. + * Remove patch gui_xmebw.c-lesstif_crash.diff, merged upstream. + * Add patch html.vim-syntax_spell.diff, which adds support for highlighting + of spelling mistakes. (closes: #393347) + * Add patch changelog.vim-ftplugin_split-buffer.diff, which corrects an + invalid command used for opening the changelog in a split window. + (closes: #392840) + + [ Stefano Zacchiroli ] + * Added patch dosini.vim-hash_comment.diff which adds support for # comments + in dosini syntax highlighting, thanks to Adeodato Simó. (closes: #378952) + * Added patch zh_TW.po-swap_recovery_typo.diff which fixes a typo in a + traditional Chinese message when editing a file for which a swap file + already exists. (closes: #347420) + * debian/control + - renamed svn info field to XS-Vcs-Svn, to match the forthcoming official + name + + -- Stefano Zacchiroli Wed, 25 Oct 2006 17:07:37 +0200 + +vim (1:7.0-122+1) unstable; urgency=medium + + [ Debian Vim Maintainers ] + * New upstream patches (095 - 122), see README.gz for details. + * Urgency medium for RC bug fixes. + + [ James Vega ] + * Since vim-gui-common no longer depends on vim-common (to allow for + binNMUing), make /usr/share/doc/vim-gui-common a directory instead of a + symlink to /usr/share/doc/vim-common. (closes: #387794) + * Add versioned Conflicts/Replaces against vim-doc for vim to allow proper + upgrades from Sarge. (closes: #381526) + * Update debian/copyright with the license information for the user and + reference manuals. + * Add patch zsh.vim-nested_quotes.diff, which fixes handling of single + quotes nested inside double quotes. (closes: #390911) + * Add a gnome-icon-theme Suggests for the packages which use a GTK/Gnome + GUI. + * Build vim-tiny with multibyte support. (closes: #361378) + * Add patch gui_gtk.c-abs_path.diff, which ensures the GTK file selection + dialog remembers the previously used directory. (closes: #368668) + * Add mp.vim-cmd_check.diff, which fixes an incorrect boolean check. + (closes: #384154) + + [ Stefano Zacchiroli ] + * Added patches perl.vim-ftplugin_perldoc.diff, + perl.vim-ftplugin_pydoc.diff, and ruby.vim-ftplugin_ri.diff, which trigger + usage of perldoc/pydoc/ri for keyword lookup on perl/python/ruby files. + (closes: #389332) + + -- James Vega Mon, 9 Oct 2006 19:37:58 -0400 + +vim (1:7.0-094+1) unstable; urgency=medium + + [ Debian Vim Maintainers ] + * New upstream patches (036 - 094), see README.gz for details. + * Urgency medium because of the fix to vim-lesstif's crash bug. + + [ James Vega ] + * Add patches/de.po.diff, which differentiates between "Delete" and + "Readonly" swap recovery messages for the German translation. + (closes: #379507) + * Update patches/scripts.vim.diff to add recognition of rst (including + rest2web) files as the filetype 'rst'. (closes: #382541) + * Update debian/rules to generate helptags for the plugins that are in + /usr/share/vim/addons. + * Add patches/gui_xmebw.c-lesstif_crash.diff, which fixes the crash bug when + invoking gvim from the vim-lesstif variant. Thanks Ben Hutchings! + (closes: #378721) + + [ Stefano Zacchiroli ] + * Modified patches/debchangelog.vim.diff so that when opening a changelog + the entry the cursor is on gets (recursively) unfolded. + * Added patches/filetype.vim-better_tex_vs_plaintex.diff, implementing + better recognition of tex vs plaintex filetype (namely it recognizes as + latex files containing sectioning commands). (closes: #384479) + * Added script upstream/patches/get_patches.py to automate downloading of + latest upstream patches. + * debian/control + - bumped Standards-Version to 3.7.2 (no changes needed) + - added X-Vcs-Svn field to source package + + -- Stefano Zacchiroli Sun, 10 Sep 2006 11:59:14 +0200 + +vim (1:7.0-035+1) unstable; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (018 - 035), see README.gz for details. + + [ James Vega ] + * debian/control: Make Vim binNMUable. + * Rename the augroup in $VIMRUNTIME/debian.vim so it doesn't conflict with + Vim's FileType autocmd event. + * Update patches/debcontrol.vim.diff to fix the package name regexp. + (closes: #375848) + * Update patches/debcontrol.vim.diff to include XS-Python-Version and + XB-Python-Version. (closes: #373661) + * Add patches/php.vim.diff, which removes the 'delete' keyword from PHP's + syntax highlighting. (closes: #368089) + + [ Stefano Zacchiroli ] + * Removed patch edit.c.diff, no longer needed after upstream patch 023 + + -- James Vega Mon, 3 Jul 2006 01:43:11 -0400 + +vim (1:7.0-017+8) unstable; urgency=medium + + * Rebuild with fixed libruby1.8. Urgency medium since vim-full and vim-ruby + can now be properly configured. + (closes: #373696, #373762, #373890, #374060) + + -- James Vega Sat, 17 Jun 2006 22:18:20 -0400 + +vim (1:7.0-017+7) unstable; urgency=low + + * Update $VIMRUNTIME/debian.vim and /etc/vim/vimrc.tiny to properly set + 'compatible' when vim-tiny is invoked as vi. (closes: #373680) + + -- James Vega Wed, 14 Jun 2006 23:18:11 -0400 + +vim (1:7.0-017+6) unstable; urgency=low + + [ Pierre Habouzit ] + * Add a Replace: vim-runtime to vim-common because of the vimcurrent mess, + that may prevent vim upgrade. (closes: #370012, #373117). + + [ James Vega ] + * Add vim-variant.preinst to remove any cruft left behind in + /usr/share/doc/vim{,-$variant}, which is now a symlink to + /usr/share/vim/vim-common. (closes: #369740) + * Update the build process so only vim-tiny starts in 'compatible' mode when + invoked as vi. + + Move patches/virc.c.diff to debian/tiny/vimrc.tiny.diff and apply only + when building vim-tiny. + + Rename /etc/vim/virc to /etc/vim/vimrc.tiny and add + vim-common.{post,pre}inst code to handle the conffile renaming. + * Update README.Debian to specify which package contains the vim policy and + the correct directory that holds vim policy. + * Add debchangelog.vim.diff which fixes an inifinite loop bug in the + debchangelog filetype plugin. (closes: #367566) + * Add scripts.vim.diff which adds recognition of ltrace output and sets the + filetype to 'strace'. (closes: #372926) + + -- James Vega Tue, 13 Jun 2006 11:06:59 -0400 + +vim (1:7.0-017+5) unstable; urgency=low + + [ James Vega ] + * Added po.vim.diff which locally enables line continuations while sourcing + the po.vim syntax file. (closes: #368589) + * Re-add /usr/share/vim/vimcurrent as a convenience symlink. + (closes: #369124) + * Add python.vim-ftplugin_include.diff which sets the 'include' option to a + stricter value to reduce the chance of mis-highlights. (closes: #367259) + * Add mysql.vim-syntax_comment.diff which corrects a syntax pattern for + MySQL comments. (closes: #367777) + + -- James Vega Wed, 31 May 2006 12:39:44 -0400 + +vim (1:7.0-017+4) unstable; urgency=low + + [ James Vega ] + * Added edit.c.diff which fixes a crash when exiting insert mode spell + completion. + * Revert changes to alternative handling in vim-variant.prerm. They should + only be removed during a remove, not an upgrade. (closes: #368175) + * Move the removal of stale alternatives to vim-variant.prerm where it + should've been to begin with. Also, tighten the matching done when + deciding which alternatives are removed. Only alternatives pointing to + /usr/bin/vim should be removed since those are the known stale + alternatives. + * Remove support for building spellfiles as will be moved to another set of + packages. + + debian/control: Remove Build-Depends-Indep which was only used for + spellfile building. + + debian/rules: Remove build-spell* and build-locales* targets. + + Remove debian/locale-gen + + Remove bg_BG.diff.diff and spell-locales.diff. + + -- James Vega Sat, 20 May 2006 21:57:31 -0400 + +vim (1:7.0-017+3) unstable; urgency=low + + [ James Vega ] + * Add support for building l10n spellfiles. + + Added unzip, aap, and locales to Build-Depends-Indep. + + Added debian/locale-gen to build the locale info. + + Update debian/rules to build spellfiles (temporarly disabled). + - Added a check for 'nospell' in DEB_BUILD_OPTIONS to prevent building + the spellfiles. + + Added spell-locales.diff patch which updates the aap recipes to set the + LC_ALL environment variable instead of LANG. + + Added bg_BG.diff.diff patch which fixes the line-endings in the + bg_BG.diff patch, allowing it to apply cleanly. + * Add /usr/share/vim/virc symlink, with this fix invoking vim as "vi" will + actually enable vim to behave differently than when invoked as "vim". + (closes: #367818) + + -- James Vega Thu, 18 May 2006 08:11:15 -0400 + +vim (1:7.0-017+2) unstable; urgency=low + + [ Debian Vim Maintainers ] + * Upload to unstable + + [ James Vega ] + * Update debian/vim-variant.prerm to remove alternative also during + upgrades. + * Add debian/vim-variant.preinst to cleanup alternatives left behind from + previous vim-variant.prerm scripts. + + -- Stefano Zacchiroli Tue, 16 May 2006 22:10:49 -0500 + +vim (1:7.0-017+1) experimental; urgency=low + + [ Debian Vim Maintainers ] + * New upstream patches (011 - 017), see README.gz for details. + + [ Stefano Zacchiroli ] + * Preliminary support for add-on infrastructure + + added symlinks from /usr/share/vim/addons/ to $VIMRUNTIME for the + matchit plugin, so that they are no longer version dependent + + added dir /var/lib/vim/addons/, now in the runtimepath + + added vim add-on registry entry for the matchit plugin + * Differentiated behaviour of Vim when invoked as "vi" + + added patch patches/virc.c.diff which source /etc/vim/virc when invoked + as such + + added debian/runtime/virc; it creates a vi-like environment setting + 'compatible' and nothing else + * Raised the alternative priority of vim.basic from 20 to 30. Rationale: the + relative order we want to achieve is vim.tiny < nvi < vim.basic + * vim-tiny is ready to enter the base system + + set vim-tiny priority to Important + + [ Norbert Tretkowski ] + * Removed outdated runtime files from package. + * Added s390x to debcontrolArchitecture in debcontrol.vim. (closes: #361281) + + -- Norbert Tretkowski Sat, 13 May 2006 13:23:35 -0500 + +vim (1:7.0-010+1) experimental; urgency=low + + [ Debian Vim Maintainers ] + * New upstream release (7.0) and patches (001 - 010), see README.gz for + details. (closes: #366396) + + CSS syntax highlighting properly handles non-UTF-8 aware environments. + (closes: #358734) + + crontab syntax highlighting recognizes % as starting stdin to the + cronjob. (closes: #363558) + + non-ASCII characters are properly handled when changing case in + :substitute commands. (closes: #266256) + + [ James Vega ] + * Massage the packaging back into "stable upstream releases" mode. + + Remove debian/watch since it isn't useful with Vim's method of releasing + stable updates. + + Swap out the unzip Build-Depends for bzip2. + + Update debian/rules to use the src/lang/extra tarballs instead of one + zip file. + + [ Stefano Zacchiroli ] + * handle debian/*.in files as autoconf files filling the @VIMCUR@ + placeholder with the appropriate vim string + * got rid of the /usr/share/vim/vimcurrent symlink, no longer needed now we + source debian.vim (closes: #366504) + * source vimrc.local/gvimrc.local from system-wide vimrc/gvimrc since a lot + of users have it, added a comment about that file being deprecated + * added a comment to system-wide gvimrc about how to obtain a reversed video + vim gui + + -- James Vega Thu, 11 May 2006 08:54:38 -0400 + +vim (1:6.4+7.0g01-1) experimental; urgency=low + + [ Debian Vim Maintainers ] + * New upstream snapshot (7.0g01). + + Remove 161_cmake-support.diff, merged upstream. + + Recognize zsh-beta as a shell that supports '2>&1| tee' for the + 'shellpipe' option. (closes: #362999) + + Assign filetype=php to any .php filename. (closes: #365055) + + Recognition in debcontrol's syntax file of all architectures listed at + http://www.debian.org/ports/ (closes: 364824) + + [ Stefano Zacchiroli ] + * Screening of patches no longer needed with vim7 & pushing upstream + of as many debian-specific patches as possible. Results: + + removed patches: 102_pythoncomplete.vim.diff, 104_debchangelog.vim.diff, + 106_fstab.vim.diff, 108_automake.vim.diff, 109_xdefaults.vim.diff, + 111_fstab.vim.diff, 119_php.vim.diff, 130_fstab.vim.diff, + 133_resolv.vim.diff, 136_muttrc.vim.diff, 140_muttrc.vim.diff, + 148_debchangelog.vim.diff, 157_slrnrc.vim.diff, 201_fr.po.diff, + 203_zh_TW.UTF8.po.diff + + The following runtime and translation files are now maintained upstream + in a best effort fashion (i.e. they are looking for a new maintainer) by + Debian VIM Maintainers: syntax/muttrc.vim, syntax/automake.vim, + syntax/php.vim, syntax/slrnrc.vim, lang/po/zh_TW.UTF-8.po. + + syntax/debchangelog.vim, syntax/debcontrol.vim, and syntax/tpp.vim are + now officially co-maintained upstream by Debian Vim Maintainers + * Improved comments and added more commented settings in /etc/vim/vimrc + + [ James Vega ] + * Add Replaces against manpages-it and manpages-pl since upstream now + provides i10n manpages. (closes: #364299) + * Moved Debian specific settings out from /etc/vim/{,g}vimrc, so that the + file can be (more) freely modified by sysadmins without risking merge + problems with maintainer updates. + + -- James Vega Wed, 3 May 2006 12:34:14 -0400 + +vim (1:6.4+7.0d03-1) experimental; urgency=low + + [ Debian Vim Maintainers ] + * New upstream snapshot (7.0d03). + + A lot of new features have been added, most notably: spell checking, + omni completion, tabs, undo branches, internal grep, location lists, + list/dictionary/funcref types for scripting. + See ":help version7" for more information. + + bugfixes affecting Debian's BTS: + - new version of sh.vim syntax highlighting (closes: #355273, #361813) + - respect LC_MESSAGES in menus (closes: #147757, #217217) + - consistent behaviour of 'gq' when an external formatter is used + (closes: #177735) + - improved wildcard expansion of filename patterns + (closes: #262645, #258150) + - german tutorial now shows instruction on how to proceed in the first + page (closes: #289115) + - fixed encoding of slovak translation (closes: #257342) + - proper escaping of characters in URLs (closes: #353076, #361317) + - added g:is_posix flag to sh.vim to enable highlighting of POSIX shell + scripts (closes: #361177) + + [ Stefano Zacchiroli ] + * Screening of patches no longer needed with vim7 & pushing upstream + of as many debian-specific patches as possible. Results: + + removed patches: 101_make.vim.diff, 103_sh.vim.diff, + 117_fortram.vim.diff, 122_html_indent.vim.diff, 135_debsources.vim.diff, + 145_fortran.vim.diff, 155_rst.vim.diff + + removed updates: debian/updates/debsources.vim + + -- James Vega Fri, 14 Apr 2006 13:29:49 -0400 + +vim (1:6.4+7.0c05-1) experimental; urgency=low + + [ Debian Vim Maintainers ] + * New upstream snapshot (7.0c05). + + Added support for bzr diffs in scripts.vim, thanks to Adeodato Simó. + (closes: #355922) + + Support python `as' keyword. (closes: #352885) + + [ James Vega ] + * Sync with the work that's been done on the 6.4 vim package. + * Add a missing quote in /etc/vim/vimrc's last-position-jump example. + (closes: #347597) + * Move vimtutor.1 to the same package (vim-runtime) as vimtutor. + Fixes a lintian warning. + * Add debian/watch. + * Cleanup handling of manpages and alternatives. (closes: 361845) + * debian/control: + + Remove references to obsolete packages. + + Move vim-doc to Section: doc. + + Update vim-common to Recommend all the vim variants. + + Add Build-Depends on libxpm-dev and unzip. + * debian/rules: + + Added support for running upstream's tests during the build process. + + Automatically generate the necessary .install/.links/.postinst settings + for installing the localized manpages. + + [ Pierre Habouzit ] + * Add support for cmake (from cmake.org). (closes: #357705) + * debcontrol.vim: add kfreebsd-amd64 to the ports list. + + [ Stefano Zacchiroli ] + * Screening of patches no longer needed with vim7 & pushing upstream + of as many debian-specific patches as possible. Results: + + removed patches: 102_filetype.vim.diff, 107_vim.1.diff, 107_xxd.1.diff, + 105_recognize-gnumakefile-am.diff, 123_accents.diff, + 133_filetype.vim.diff, 142_filetype.vim.diff, 153_filetype.vim.diff, + 154_svn.vim.diff, 156_scripts.vim.diff, 158_python.vim.diff, + 301_xxd.c.diff, 303_option.c.diff, 305_term.c.diff + * Added patch 102_pycomplete.vim: fixes a python omnicompletion bug when the + cursor is on an empty line + + [ Matthijs Mohlmann ] + * Updated debsources syntax file. + + Use debsources instead of sources. + + Make a regexpression of deb, deb-src, main, contrib and non-free. + + Remove setlocal iskeyword. + + Remove compatibility with vim 5.x. + + -- James Vega Fri, 31 Mar 2006 17:50:11 -0500 + +vim (1:6.4-007+1) unstable; urgency=low + + [ Debian VIM Maintainers ] + * New upstream patch (007), see README.gz for details. + + [ Stefano Zacchiroli ] + * Handle /usr/bin/gvim with alternatives, so that it can be configured + to a vim executable with gui support when /usr/bin/vim is configured + to one with no such support. (closes: #345765) + + [ Pierre Habouzit ] + * vim's syntax coloring mode should consider .sce extension. + (Closes: #338771) + * subversion commit log syntax and l10n. (Closes: #341288) + * dh_install bug #349070 triggerd our svn.vim problem. + (rebuild Closes: #348955). + * enhances syntax/rst.vim. (Closes: #323044) + + [ James Vega ] + * Move alternatives handling out of vim-common so that we aren't modifying + alternatives when the targets don't yet exist. (closes: #348233) + * Add 'armeb' to debcontrol syntax file. (closes: #350513) + * debian/rules: Remove all binaries except xxd from vim-common. Handle the + rest with alternatives in the variant packages. + * debian/control: Changed vim-gui-common to Arch: all + * Added patch 156_scripts.vim.diff which adds detection of svk diffs as diff + filetype. (closes: #349764) + * Added patch 157_slrnrc.vim.diff which adds a few more functions to the + slrnrc syntax file. (closes: #347801) + * Added commented out example autocmd for last-position-jump to + /etc/vim/vimrc. (closes: #347597) + * Lintian cleanup: + + debian/control: Added a Depends line for vim-common. + + debian/rules: Use proper permissions when installing the console font in + vim-runtime + + debian/rules: Create a symlink to /usr/share/doc/vim-gui-common for each + GUI variant package. This fixes a usr-doc-symlink-without-dependency + warning. + + -- James Vega Wed, 8 Feb 2006 15:11:37 -0500 + +vim (1:6.4-006+2) unstable; urgency=low + + [ Norbert Tretkowski ] + * debian/README.Debian: fixed typos (closes: #344608) + * patches/148_debchangelog.vim.diff: added sarge-{backports|volatile} to + debchangelog hilighting + * debian/control: removed build-dependencies added for woody backport + * debian/control: build-depend on make (>= 3.80+3.81.b4) + + [ Matthijs Mohlmann and Stefano Zacchiroli ] + * debian/rules: moved "export DH_OPTIONS" back to the beginning of the + file since old versions of make can't cope with it on + target-specific variables. Fixes FTBFS on some archs. + (closes: #344658) + + [ Stefano Zacchiroli ] + * debian/rules: added 'export' target to generate source package + * debian/rules: uses quilt to manage debian-specific patches, changed + build-deps accordingly + * Added patch 152_javascript.vim which fixes JavaScript syntax + highlighting (closes: #343402) + + [ Pierre Habouzit ] + * debian/control: fix vim-gui-common description. (closes: #347912) + * 304_memline.c.diff causes FTBFS on Hurd, fix it. (closes: #348170) + + -- Norbert Tretkowski Sun, 15 Jan 2006 19:41:58 +0100 + +vim (1:6.4-006+1) unstable; urgency=low + + [ Debian VIM Maintainers ] + * New upstream patches (005 and 006), see README.gz for details. + + [ Stefano Zacchiroli ] + * Epoched all 6.4 versioned relationships in debian/control, they were + erroneously non-epoched. (closes: #344368, #344414) + + -- Norbert Tretkowski Fri, 23 Dec 2005 00:30:20 +0100 + +vim (1:6.4-004+2) unstable; urgency=low + + [ Norbert Tretkowski ] + * Applied patch from Adeodato Simó to fix broken syntax hilighting + of urgency in debchangelog.vim. (closes: #338557, #343136, #344228) + * No longer lists a mailinglist as uploader in changelog, until a consensus + about policy items 4.4 and 5.6.4 is found. (closes: #343073) + + [ Stefano Zacchiroli ] + * Fixed typo in vim-gui-common description. (closes: #343152) + * Remove old /usr/share/doc/vim-common symlink during vim-doc and + vim-common preinst phase. (closes: #343289) + * debian/rules: finally found the karma of target-specific variables, + hopefully the file is clearer now ... Fixes FTBFS on hppa. + (closes: #344150) + * Fixed dangling manpage symlinks in vim-gui-common. + (closes: #344179, #343195, #343171) + * Moved vimtutor from vim-common to vim-runtime + * Added patch 151_sed.vim which improves sed's syntax highlighting. + (closes: #336125) + * Added patch 305_term.c which fixes 'pastetoggle' for working + properly with F1-F4 keys on Debian xterm's. (closes: #342220) + + -- Norbert Tretkowski Wed, 21 Dec 2005 10:09:37 +0100 + +vim (1:6.4-004+1) unstable; urgency=low + + [ Debian VIM Maintainers ] + * New upstream patches (002 to 004), see README.gz for details. + + [ Stefano Zacchiroli ] + * Added back vim-tiny package. (closes: #222138) + * Reshaped vim packaging as follows: + - vim-common -> arch-dependent common files (variants w/o GUI) + - vim-gui-common -> arch-dependent common files (variants w GUI) + (closes: #338027) + - vim-runtime -> vim runtime (arch-independent) + - vim -> default variant + - vim-* -> other variants + - vim-tiny -> tiny variant, no vim-runtime dependency + - the above changes additionally got rid of circular dependency + vim -> vim-common -> vim (closes: #340037) + * Added symlink /usr/share/vim/vimcurrent -> vim64, will be kept + proper in future releases. /etc/vim/vimrc no longer version-aware. + * Removed duplicate /usr/share/vim/vimfiles entry in vimrc. + (closes: #337825) + * (Re-)Fixed debian/runtime/vimrc, last version inhibit /usr/bin/ex. + * au commands in vimrc executed only if has("autocmd"). + * No longer try to move configuration files from /etc to /etc/vim + (ancient preinst, no longer needed to support upgrades from sarge). + * Updated Description-s in debian/control. + * Check for and removal of old vim.org diversion in postinst instead + of postrm (closes: #341081) + * Adds gvim, when compiled with gnome support, as an alternative for + gnome-text-editor, with priority lower than gedit (closes: #287202) + * Substituted @PKG@ in menu entry for package name (closes: #342074) + + [ James Vega ] + * Added patch 148_debchangelog, update syntax/debchangelog.vim to + recognize infrequently used but policy compliant syntax. + (closes: #338557) + * Fixed patch 304_memline.c.diff to avoid inifinte loops resolving + symlinks. (closes: #336560) + * Remove the 'p' vmap in /etc/vim/vimrc since it has various bad + side-effects such as not being able to paste from a register while + in visual mode. + + [ Matthijs Mohlmann ] + * Updated syntax for sshd_config and ssh_config. + * Updated syntax highlighting for asterisk.vim (Closes: #338256) + + -- Debian VIM Maintainers Wed, 7 Dec 2005 22:02:34 +0100 + +vim (1:6.4-001+2) unstable; urgency=low + + [ Stefano Zacchiroli ] + * Fixed debian/runtime/vimrc, last version broke some plugins behaviour + (e.g. gzip, netrw) on files specified on cmdline. + + -- Debian VIM Maintainers Sun, 23 Oct 2005 16:03:43 +0200 + +vim (1:6.4-001+1) unstable; urgency=low + + [ Debian VIM Maintainers ] + * New upstream patch (001), see README.gz for details. + + [ Stefano Zacchiroli ] + * Got rid of conflicts among vim-* packages (aka variants) using + alternatives for /usr/bin/vim. (closes: #67823, #123959, #280934) + * Got rid of removal of /usr/doc/* symlinks. + * Added "sources" debian/rules target which downloads upstream tarballs. + * Added patch 146_netrw.vim.diff, fixes some issues of netrw.vim with + file://* URLs. (closes: #334868) + * Added patch 303_option.c.diff, which fixes 'system()' behaviour when + $SHELL is empty. (closes: #219386) + * Added patch 304_memline.c.diff, which fixes swap file locking wrt + symlinks. (closes: #329826) + * Changed debian/runtime/vimrc so that /etc/papersize is read without using + system(), fixes issues with exotic shells. (closes: #271338) + + [ James Vega ] + * Added patch 147_perl.vim.diff, new upstream syntax file which supersedes + 120_perl.vim.diff. + + -- Debian VIM Maintainers Sun, 23 Oct 2005 11:21:35 +0200 + +vim (1:6.4-000+1) unstable; urgency=low + + [ Debian VIM Maintainers ] + * New major upstream release (6.4). + + Fixed typo in /usr/share/vim/vim63/doc/usr_04.txt. (closes: #328664) + + [ Norbert Tretkowski ] + * Removed patches merged upstream: + + 118_ocaml.vim.diff + + -- Debian VIM Maintainers Sat, 15 Oct 2005 18:40:22 +0200 + +vim (1:6.3+6.4b-003+1) experimental; urgency=low + + [ Debian VIM Maintainers ] + * New upstream patch (003), see README.gz for details. + + -- Debian VIM Maintainers Fri, 14 Oct 2005 18:09:56 +0200 + +vim (1:6.3+6.4b-002+2) experimental; urgency=low + + [ Stefano Zacchiroli ] + * Updated patches for new release: + + 118_ocaml.vim.diff + + 124_errorformat.vim.diff + + 203_zh_TW.UTF8.po.diff + + -- Debian VIM Maintainers Thu, 13 Oct 2005 13:09:25 +0200 + +vim (1:6.3+6.4b-002+1) experimental; urgency=low + + [ Debian VIM Maintainers ] + * New upstream patch (002), see README.gz for details. + + -- Debian VIM Maintainers Wed, 12 Oct 2005 21:11:22 +0200 + +vim (1:6.3+6.4b-001+1) experimental; urgency=low + + [ Debian VIM Maintainers ] + * New major upstream beta release (6.4b). + * New upstream patch (001), see README.gz for details. + + [ Norbert Tretkowski ] + * Removed patches merged upstream: + + 110_php.vim.diff + + 112_prolog.vim.diff + + 113_xml.vim.diff + + 114_texinfo.vim.diff + + 116_sh.vim.diff + + 121_perl.vim.diff + + 126_filetype.vim.diff + + 128_vimdiff.1.diff + + 132_bib.vim.diff + + 139_perl.vim.diff + + 143_eruby.vim.diff + + 401_doc_exrc.diff + + 403_usr_04.txt.diff + + [ James Vega ] + * Updated patches for new release: + + 102_filetype.vim.diff + + 120_perl.vim.diff + + 142_filetype.vim.diff + + -- Debian VIM Maintainers Wed, 12 Oct 2005 09:41:28 +0200 + +vim (1:6.3-090+2) unstable; urgency=low + + * Stefano Zacchiroli : + + Fixed %ld typo in debian/patches/203_zh_TW.UTF8.po.diff + + Added patch debian/patches/403_usr_04.txt.diff, which fixes a + typo in usr_04.txt. (closes: #328664) + + -- Debian VIM Maintainers Sat, 8 Oct 2005 16:09:41 +0200 + +vim (1:6.3-090+1) unstable; urgency=low + + * New upstream patches (087 to 090), see README.gz for details. + + * Norbert Tretkowski : + + Updated Standards-Version to 3.6.2 (no changes needed). + + Exec vim with -f parameter in .desktop file. (closes: #329292) + + * Stefano Zacchiroli : + + Set SHELL=/bin/bash in debian/rules since we use bashisms. + (closes: #310974) + + Added patch 140_muttrc.vim.diff, which improves muttrc + highlighting. (closes: #327074) + + Added patch 141_asterisk.vim.diff, which adds support for Asterisk + configuration files sytnax highlighting. (closes: #322850) + + Added patch 142_filetype.vim.diff, which extends dch highlighting + to Debian NEWS files. (closes: #328081) + + Added patch 143_eruby.vim.diff, which adds support for eruby + highlighting. (closes: #315902) + + Added patch 144_scripts.vim.diff, which adds support for + highlighting tla diffs. (closes: #305677) + + Added patch 145_fortran.vim.diff, which fixes a matchit bug with + Fortran's "module procedure". (closes: #308865) + + Added patch 203_zh_TW.UTF8.po.diff, which fixes a translation + error in locale zh_TW.UTF-8. (closes: #319420) + + -- Debian VIM Maintainers Fri, 30 Sep 2005 17:08:36 +0200 + +vim (1:6.3-086+1) unstable; urgency=low + + * New upstream patch (086), see README.gz for details. + + * Norbert Tretkowski : + + Corrected wrong capitalization of menu entry. (closes: #320602) + + * Stefano Zacchiroli : + + Added patch 132_bib.vim.diff, which fixes highlighting of bibtex + comments. (closes: #316184) + + Added patch 133_filetype.vim.diff, which adds filetype recognition + for several Zope related file kinds. (closes: #311007) + + * Matthijs Mohlmann : + + Added patch 133_resolv.vim.diff, which fixes highlighting of resolv.conf + search entries. (closes: #321081) + + Added patch 134_sshconfig.vim.diff, added HashKnownHosts to syn keyword + sshconfigKeyword. (closes: #321119) + + Added debsources.vim to debian/updates to add syntax highlighting for + /etc/apt/sources.list and added this to filetype.vim. (closes: #308947) + + Added patch 136_muttrc.vim.diff, added crypt_autosign, crypt_autoencrypt + and xterm_set_titles to syn keyword. (closes: #323278) + + * Pierre Habouzit : + + Fix patch 105_xmodmap.vim.diff: wrt XF86_ClearGrab. (closes: #322355) + + Fix typo in doc/editing.txt. (closes: #322254) + + * James Vega : + + Added patch 137_filetype.vim.diff, recognize mutt-ng rc/temp files as + muttrc/mail filetypes. (closes: #307946) + + Added patch 138_filetype.txt.diff, fix a typo in the changelog-plugin + section of filetype.txt. (closes: #314595) + + Added patch 139_perl.vim.diff, fix recognition of regular expression + quantifiers. + + -- Debian VIM Maintainers Thu, 1 Sep 2005 18:40:41 +0200 + +vim (1:6.3-085+1) unstable; urgency=high + + * New upstream patches (079 to 085), see README.gz for details. + + 6.3.081, 6.3.082: Fix arbitrary shell commands execution by wrapping + them in glob() or expand() function calls in modelines. (CAN-2005-2368) + (closes: #320017) + + * James Vega : + + Added patch 129_filetype.vim.diff, which sets the filetype to perl for + *.plx files. (closes: #314309) + + * Matthijs Mohlmann : + + Added patch 130_fstab.vim.diff, added bind as option. (closes: #308890) + + Added patch 131_xxd.1.diff, fixes typo in xxd manpage. (closes: #311234) + + -- Debian VIM Maintainers Thu, 28 Jul 2005 12:16:06 +0200 + +vim (1:6.3-078+1) unstable; urgency=low + + * New upstream patches (073 to 078), see README.gz for details. + + * James Vega : + + Added patch 128_vimdiff.1.diff, which fixes a typo in the vimdiff + manpage. (closes: #310331) + + -- Debian VIM Maintainers Tue, 14 Jun 2005 21:25:00 +0200 + +vim (1:6.3-072+1) unstable; urgency=high + + * New upstream patch (072), see README.gz for details. + + * James Vega : + + Updated patch 125_gzip.vim.diff to match upstream's vim7 patch. + Removed compression detection for FileAppendPre since there's no good + way to retrieve the necessary information. + + Added patch 127_scripts.vim.diff, makes Vim automatically set the proper + filetype when editing lua scripts. The patch also enables recognition + of "#!/usr/bin/env xxx" hashbang lines. (closes: #309859) + + -- Debian VIM Maintainers Fri, 20 May 2005 20:41:35 +0200 + +vim (1:6.3-071+2) unstable; urgency=low + + * Stefano Zacchiroli : + + Modifications on debian/rules: + - Do not invoke dh_installdirs before creating .dirs file for current + variant (fixes non-installation of gvim.desktop in all variants). + - Optional cmdline parameter PATCH_NAME for make_patch target. + - Invoke dh_desktop to register gvim.desktop on postinst. + + Modifications on debian/vim-variant.desktop: + - Internationalized comment (inspired from gedit's one). + - Added MimeType entry. + - Uses svg icon. + + Added svg icon /usr/share/icons/vim.svg, thanks to + Paul Ortman . (closes: #258669) + + Updated patch 118_ocaml.vim.diff (new upstream). + + Added patch 124_errorformat.vim.diff, makes vim follow error directories + on "make -C". (closes: #276005) + + Added patch 126_filetype.vim.diff, set tex filetype on .cls TeX classes, + distinguishing them from smalltalk sources. (closes: #169716) + + * Norbert Tretkowski : + + Build-Depend on debhelper (>= 4.2.21), required for dh_desktop call. + + Reverted value of backupcopy to default. + + * Matthijs Mohlmann : + + Added patch for german accents. (closes: #307807) + + * James Vega : + + Added patch 125_gzip.vim.diff, maintain "max speed" and "max compression" + compression levels when editing gzip files. (closes: #280388) + + -- Debian VIM Maintainers Sun, 15 May 2005 19:12:57 +0200 + +vim (1:6.3-071+1sarge1) stable; urgency=high + + * New upstream patches (081 and 082), see README.gz for details. + + 6.3.081, 6.3.082: Fix arbitrary shell commands execution by wrapping + them in glob() or expand() function calls in modelines. (CAN-2005-2368) + (closes: #320017) + + -- Norbert Tretkowski Sat, 30 Jul 2005 12:16:45 +0200 + +vim (1:6.3-071+1) unstable; urgency=medium + + * New upstream patches (069 to 071), see README.gz for details. + + * Norbert Tretkowski : + + Re-add dh_installdirs to vim-variant part in debian/rules, so copying + the desktop file no longer fails. (closes: #302830) + + Enabled backupcopy in global vimrc. (closes: #158657) + + * Stefano Zacchiroli : + + Added vim-full variant with support for gnome and all interpreters. + (closes: #149077) + + Added /usr/share/common-licenses/ reference to debian/copyright. + + Remove debian/helpztags.1 on debian/rules clean (generated file). + + Updated patch 118_ocaml.vim.diff (new upstream). + + Added patch 122_html_indent.vim.diff, remove from indentkeys for + html. (closes: #280386) + + Added patch 401_doc_exrc.diff, fixes starting doc about "_exrc". + (closes: #279378) + + Suggests vim-scripts in debian/control. + + * Matthijs Mohlmann : + + Fixes menu entry with icon (wrong syntax used in menu file), thanks to + Alexis Sukrieh . + + * James Vega : + + Added patch 120_perl.vim.diff, update $VIMRUNTIME/syntax/perl.vim from + the author which fixes block indentation in packages. (closes: #220969) + + Added patch 121_perl.vim.diff, which adds syntax recognition for + CHECK/INIT blocks (similar to BEGIN/END). + + -- Norbert Tretkowski Sun, 24 Apr 2005 17:26:49 +0200 + +vim (1:6.3-068+4) unstable; urgency=medium + + * Norbert Tretkowski : + + Removed all kvim related packages, the code is no longer maintained. + Sorry. (closes: #234455, #237385, #283765, #293110, #194449, #205586, + #266431, #272621, #294848, #245006, #194964) + + Removed patch 401_gcc4.diff, it modified kvim code which is no longer + available. + + Added NEWS file, so people upgrading to this version getting informed + about the kvim removal. + + * Matthijs Mohlmann : + + Fixed up a patch for xml.vim. + + -- Norbert Tretkowski Sat, 2 Apr 2005 18:31:19 +0200 + +vim (1:6.3-068+3) unstable; urgency=medium + + * Norbert Tretkowski : + + Add a replaces: vim (<= 1:6.3-068+1) to every (k)vim-* package, required + for menu-icon-missing fix from 1:6.3-068+2. (closes: #301866) + + Urgency medium because above modification fixes regular upgrade with + apt-get. + + Fixed broken rgvim manpage. (closes: #301881) + + -- Norbert Tretkowski Tue, 29 Mar 2005 01:00:23 +0200 + +vim (1:6.3-068+2) unstable; urgency=low + + * Pierre Habouzit : + + Enhance the es.po. (closes: #206782) + + * Matthijs Mohlmann : + + Modified patch 113_xml.vim.diff that fixes #196001 has introduced + another syntax error. (closes: #301736) + + Fixed menu-icon-missing on vim-* packages. + + -- Norbert Tretkowski Mon, 28 Mar 2005 19:26:35 +0200 + +vim (1:6.3-068+1) unstable; urgency=low + + * New upstream patch (068), see README.gz for details. + + 6.3.068: When editing a compressed file xxx.gz which is a symbolic link + to the actual file a ":write" no longer renames the link (patch by James + Vega). (closes: #281630) + + * Norbert Tretkowski : + + Added James Vega to uploaders. + + Fixed wrong executable registration in /usr/lib/mime/packages/kvim, + thanks to Robin Verduijn for the patch. (closes: #295471) + + Fixed synchronisation of syntax highlighting in fortran 90 programs. + (closes: #301452) + + Removed vim-doc's dependency on vim, so it's possible to install vim-doc + without also installing vim. + + * Pierre Habouzit : + + Fix php indent plugin, thanks to the ITLab at MUSC. (closes: #282135) + + Fix prolog syntax file. (closes: #269692) + + Fix xml syntax ('\' has no special meaning for xml). (closes: #196001) + + Fix texinfo syntax file warning. (closes: #286763) + + * Matthijs Mohlmann : + + Fix lintian warning packages-installs-file-to-usr-x11r6: + - Moving xpm files to /usr/share/pixmaps. + - Edited the menu files. + + Removed prerm-does-not-call-installdocs from lintian/vim. + + Added patch 111_fstab.vim.diff to fix highlighting in fstab. + (closes: #300108) + + Removed Suggests: vim from vim-doc in debian/control. + + Fixed binary-without-manpage for several packages. + + Fixed pkg-not-in-package-test in kvim-tcl, kvim-ruby, kvim-python and + kvim-perl. + + Fixed the errors postinst-does-not-call-updatemenus and + postrm-does-not-call-updatemenus. + + * James Vega : + + Fixed wrong highlighting of comments in syntax/sh.vim when comments + occur between switches of case. (closes: #269325) + + * Stefano Zacchiroli : + + Added patch 302_message.c.diff to fix CTRL-C quit loops in range commands. + (closes: #295639) + + Added patch 118_ocaml.vim.diff to ship latest version of ocaml runtime + support files: {syntax,ftplugin,ident}/ocaml.vim. + + Modifications on debian/rules: + - Uses debian/compat in place of debian/rules' DH_COMPAT. + - Ignores diff error in "make_patch" target since diff usually returns 1. + - Added support for command line VARIANT variable to override VARIANTS. + + * Pepijn de Langen : + + Added patch 119_php.vim.diff to php syntax highlighting backticks. + (closes: #144754) + + -- Norbert Tretkowski Sat, 26 Mar 2005 16:32:25 +0100 + +vim (1:6.3-067+2) unstable; urgency=medium + + * Norbert Tretkowski : + + Disabled dh_installchangelogs and dh_installdocs for vim-doc. + + Raised urgency to medium because of upstream patch 6.3.066. + + -- Norbert Tretkowski Sun, 20 Mar 2005 22:05:36 +0100 + +vim (1:6.3-067+1) unstable; urgency=low + + * New upstream patches (065 to 067), see README.gz for details. + + 6.3.065: Entering Euro char via digraph doesn't always work. + (closes: #298162) + + * Norbert Tretkowski : + + Added Pierre Habouzit, Torsten Landschoff, Matthijs Mohlmann, Stefano + Zacchiroli, Alexis Sukrieh and Pepijn de Langen to uploaders. + (closes: #299446) + + Added a new patch from Christian Hammers which adds additional keywords + to /etc/fstab syntax hilighting. (closes: #299704) + + Modified --with-compiledby value to use $DEBFULLNAME and $DEBEMAIL. + + Updated tpp syntax file, thanks to Gerfried Fuchs. + + Changed priority of vim-common package from extra to optional. + + * Pierre Habouzit : + + Documented the /etc/vim/{g,}vimrc.local files in README.Debian. + + Fixed some debcontrol.vim issues: + - Don't search emails in fields that have not one. (closes: #114508) + - Fix debcontrolName according to Policy. (closes: #148144) + + Fixed tutor.vim to use usual locale envvars semantics. (closes: #289113) + + Added a 16px icon for menu entries too + (taken from http://www.vim.org/images/vim16x16.xpm). (closes: #39250) + + Fixed changelog.Debian.gz detection. (closes: #263740) + + Manpages various fixes: + - Escape some dashes in vim(1). (closes: #279606) + - Various fixes for xxd(1). (closes: #281124) + + Fixed french translation. (closes: #277502) + + * Matthijs Mohlmann : + + Add syntax highlighting for xmodmap. (closes: #296759) + + Fixed lintian warning unquoted-string-in-menu-item in kvim.menu. + + Fixed lintian warning spelling-error-in-readme-debian (adviced should + be advised). + + Changed current maintainer in copyright file. + + Fixed lintian warning package-relation-with-self in kvim. + + Fixed lintian warning binary-has-unneeded-section in vim (added + dh_strip). + + Added depends on vim in vim-doc. + + * Alexis Sukrieh : + + Added a note about UTF-8 related issues in README.Debian. + + Added debian/patches/108_automake.vim.diff (thanks to Alexander Kogan) + which enables highlighting of _CPPFLAGS in automake files. + (closes: #196212) + + Added debian/patches/109_xdefaults.vim.diff (thanks to Peter De Wachter) + which fixes bad highlighting when putting a FONT directive in xdefaults. + (closes: #264284) + + * Stefano Zacchiroli : + + Added #DEBHELPER# tag to debian/vim-{doc,common}.preinst. + + Minor cleanup of debian/rules so vim-{doc,common} uses dh_install + instead of dh_movefiles ("binary" target could now be invoked twice + after a single "install" invocation), let dh_compress compress README. + + -- Norbert Tretkowski Sun, 20 Mar 2005 10:56:11 +0100 + +vim (1:6.3-064+1) unstable; urgency=low + + * Norbert Tretkowski : + + New upstream patches (062 to 064), see README.gz for details. + + Set maintainer address to project mailinglist on alioth and added myself to + uploaders. + + Added a new patch which sets automake syntax recognition for files named + GNUmakefile.am. (closes: #277596) + + Added a new patch which adds testing-proposed-updates to debchangelog + syntax hilighting. + + -- Norbert Tretkowski Mon, 14 Mar 2005 14:58:49 +0100 + +vim (1:6.3-061+1) unstable; urgency=high + + * New upstream patches (059 to 061), see README.gz for details. + * Kudos to Javier Fernandez-Sanguino Pena, he discovered the usage of + insecure $$ constructs in vimspell.sh and tcltags.sh which have been + fixed with the last upload. + * Removed vimspell.sh and tcltags.sh, these scripts are no longer supported + upstream. + * Removed patch which was added in 1:6.3-058+1, it's no longer required. + + -- Norbert Tretkowski Tue, 01 Feb 2005 22:39:26 +0100 + +vim (1:6.3-058+1) unstable; urgency=high + + * New upstream patches (055 to 058), see README.gz for details. + * Added a new patch (stolen from Ubuntu) which modifies vimspell.sh and + tcltags.sh so they use mktemp instead of insecure $$ construction to + create temporary files. (CAN-2005-0069) (closes: #289560) + + -- Norbert Tretkowski Tue, 18 Jan 2005 20:12:25 +0100 + +vim (1:6.3-054+1) unstable; urgency=low + + * New upstream patches (047 to 054), see README.gz for details. + * Source /etc/vim/gvimrc.local if available. (closes: #272001) + * Added a new patch which fixes ftbfs on amd64 with gcc-4.0, thanks to + Andreas Jochens. (closes: #288731) + + -- Norbert Tretkowski Wed, 05 Jan 2005 20:51:36 +0100 + +vim (1:6.3-046+0sarge1) testing-proposed-updates; urgency=high + + * Built on testing for testing-proposed-updates because patch 045 fixes + several vulnerabilities found by Ciaran McCreesh related to the use of + options in modelines. (CAN-2004-1138) + + -- Norbert Tretkowski Sun, 19 Dec 2004 20:06:53 +0100 + +vim (1:6.3-046+1) unstable; urgency=low + + * New upstream patches (032 to 046), see README.gz for details. + * Added a desktop entry under /usr/share/applications/ for all variants. + (closes: #285065) + * Added farsi fonts to vim-common package. (closes: #258773) + + -- Norbert Tretkowski Sun, 12 Dec 2004 02:36:11 +0100 + +vim (1:6.3-031+3) unstable; urgency=low + + * Really add Brandens patch which adds XXX and FIXME comment hilighting + to sh.vim. (closes: #280471) + * Updated debcontrol.vim syntax file, which adds debcontrolArchitecture + for s390, thanks to Gerfried Fuchs. (closes: #281127) + + -- Norbert Tretkowski Sun, 14 Nov 2004 01:14:35 +0100 + +vim (1:6.3-031+2) unstable; urgency=low + + * Fixed broken vim-doc.preinst. (closes: #280824, #280825) + + -- Norbert Tretkowski Thu, 11 Nov 2004 23:56:12 +0100 + +vim (1:6.3-031+1) unstable; urgency=low + + * New upstream patches (026 to 031), see README.gz for details. + * Add symlink replacing from vim-common also to vim-doc. (closes: #279058) + * Added a new patch which adds XXX and FIXME comment hilighting to sh.vim, + thanks to Branden Robinson. (closes: #280471) + * Added a new patch which allows multiple spaces as arguments for xxd, + thanks to Glyn Kennington. (closes: #279709) + * Updated tpp and debcontrol syntax files, thanks to Gerfried Fuchs. + + -- Norbert Tretkowski Tue, 09 Nov 2004 18:56:42 +0100 + +vim (1:6.3-025+1) unstable; urgency=low + + * New upstream patches (020 to 025), see README.gz for details. + + -- Norbert Tretkowski Sun, 05 Sep 2004 21:13:04 +0200 + +vim (1:6.3-019+1) unstable; urgency=medium + + * New upstream patches (016 to 019), see README.gz for details. + * Added a new patch which adds some more sections to debcontrol.vim, + thanks to Branden Robinson. (closes: #258547) + * Removed setting the guifont in gvimrc. (closes: #267399, #268253) + * Compress README file. (closes: #267532) + + -- Norbert Tretkowski Mon, 30 Aug 2004 21:06:01 +0200 + +vim (1:6.3-015+1) unstable; urgency=medium + + * New upstream patches (014 and 015), see README.gz for details. + * Removed Luca from Uploaders, thanks for your work! (closes: #266476) + * Added a workaround for setting papersize when running vim in restricted + mode, thanks to Alexey Marinichev. (closes: #260452, #265227) + * Added a new patch which fixes broken else syntax hilighting in make.vim, + thanks to Steinar H. Gunderson. (closes: #260473, #259819) + * Fixed spelling error in vim-common description. (closes: #264279) + * Added a patch from 1:6.2-532+1 which got lost with the update to 6.3 + and fixes svn commit file highlighting. + * Added a new patch which adds s390 and amd64 to debcontrol.vim. + + -- Norbert Tretkowski Wed, 17 Aug 2004 19:34:13 +0200 + +vim (1:6.3-013+2) unstable; urgency=low + + * Empty vim-common directory before rmdir it. (closes: #258809) + * Add symlink replacing from vim-common also to vim-variant. + + -- Norbert Tretkowski Sun, 11 Jul 2004 18:11:45 +0200 + +vim (1:6.3-013+1) unstable; urgency=low + + * New upstream patches (012 and 013), see README.gz for details. + * More modifications on /usr/share/doc/vim-common symlink detection. + (closes: #257810) + * Source /etc/vim/vimrc.local if available. (closes: #257779) + * Added a virtual package gvim. + + -- Norbert Tretkowski Fri, 09 Jul 2004 22:56:33 +0200 + +vim (1:6.3-011+2) unstable; urgency=low + + * Modify detection of /usr/share/doc/vim-common symlink. (closes: #257623) + + -- Norbert Tretkowski Sun, 04 Jul 2004 19:35:16 +0200 + +vim (1:6.3-011+1) unstable; urgency=low + + * New upstream patch (011), see README.gz for details + * Disabled libgpm-dev build-dependency for kfreebsd-i386 (closes: #257230) + * Fixed vim-common's dependency on vim (closes: #257359, #257428, #257547) + * No longer compress version6.txt in documentation. (closes: #257338, #257445) + * Force replacing empty directories in /usr/share/doc with a symlink. + (closes: #257449) + + -- Norbert Tretkowski Sun, 04 Jul 2004 11:21:36 +0200 + +vim (1:6.3-010+1) unstable; urgency=low + + * Norbert Tretkowski : + + new upstream patches (005 to 010), see README.gz for details + + temporary disabled vim-tiny package, will be re-added with the next + upload + + * Mickael Marchand : + + updated kvim patch to apply without conflicts to new vim upstream + patches + + -- Norbert Tretkowski Thu, 30 Jun 2004 18:35:26 +0200 + +vim (1:6.3-004+1) unstable; urgency=low + + * Norbert Tretkowski : + + new major upstream release (6.3) + + new upstream patches (001 to 004), see README.gz for details + + merged changes from 1:6.2-532+6 + + fixed broken changelog symlink (closes: #253319) + + -- Norbert Tretkowski Fri, 11 Jun 2004 21:31:25 +0200 + +vim (1:6.2+6.3b-016+1) experimental; urgency=low + + * Norbert Tretkowski : + + new upstream patches (008 to 016), see README.gz for details + + made vim depend on vim-common in the same upstream version, so upgrading + to experimental vim will also install new vim-common (closes: #251736) + + merged changes from 1:6.2-532+5 + + -- Norbert Tretkowski Sun, 30 May 2004 16:45:02 -0300 + +vim (1:6.2+6.3b-007+1) experimental; urgency=low + + * Norbert Tretkowski : + + new upstream patches (002 to 007), see README.gz for details + + applied patch from Thomas de Grenier de Latour which fixes problems with + non-builtin icons and gtk+ 2.4 + + -- Norbert Tretkowski Wed, 26 May 2004 19:09:21 -0300 + +vim (1:6.2+6.3b-001+1) experimental; urgency=low + + * Norbert Tretkowski : + + new major upstream beta release (6.3b) + + new upstream patch (001), see README.gz for details + + modified runtime path in global vimrc + + merged changes from 1:6.2-532+3 and 1:6.2-532+4 + + -- Norbert Tretkowski Wed, 19 May 2004 19:19:26 +0200 + +vim (1:6.2+6.3a-018+1) experimental; urgency=low + + * Norbert Tretkowski : + + new upstream patches (007 to 018), see README.gz for details + + merged changes from 1:6.2-532+2 + + -- Norbert Tretkowski Wed, 12 May 2004 22:05:31 +0200 + +vim (1:6.2+6.3a-006+1) experimental; urgency=low + + * Norbert Tretkowski : + + new major upstream beta release (6.3a) + - removed second -X option from vim(1) (closes: #231504) + - added evim to executables in vim(1) (closes: #223866) + - fixed typo in man.vim plugin (closes: #256951) + + new upstream patches (001 to 006), see README.gz for details + + removed most debian specific patches, because they got merged upstream + now + + modified runtime path in global vimrc + + modified directories in vim.links and vim.install + + * Mickael Marchand : + + updated kvim patch to apply without conflicts to new vim upstream + beta release + + -- Norbert Tretkowski Sat, 08 May 2004 23:29:31 +0200 + +vim (1:6.2-532+6) unstable; urgency=low + + * Norbert Tretkowski : + + applied a patch from Eduard Bloch which makes gvim load the UTF-8 + version of fixed font when the $LANG or $LC_CTYPE environment variables + are set for the Unicode environment (closes: #177599) + + added a patch which enhances detection of html files (closes: #211263) + + removed c part from maze macro, looks like it doesn't work any longer + (closes: #121837) + + updated perl syntax file (closes: #232660) + + suggest 'ssh' instead of 'rsh' in tagsrch.txt (closes: #229634) + + capitalized 'unicode' string in description (closes: #172065) + + fixed broken removal of vim-gnome diversion (closes: #252248) + + fixed small typo in kvim mime files (closes: #250585) + + fixed small mistake in global vimrc (closes: #165964) + + added /usr/share/bug/vim/presubj file with some informations for + submitters of bugs + + -- Norbert Tretkowski Sat, 05 Jun 2004 16:42:42 +0200 + +vim (1:6.2-532+5) unstable; urgency=low + + * Norbert Tretkowski : + + re-added a vim-tiny package, looks like it got lost somewhere between + potato and woody (closes: #222138) + + added a patch which adds 'UsePAM' directive to sshdconfig.vim syntax file + (closes: #250064) + + added a patch from Doug Winter which add recognition of 'as' keyword in + python syntax file (closes: #247326) + + added a patch from Dirk Proesdorf which corrects new 'alternates' keyword + behaviour in mutt syntax file (closes: #247098) + + added a patch which adds syntax highlighting for whitespace files + (closes: #226352) + + added a patch from Brian M. Carlson which adds highlighting for 'lldiv_t' + in c syntax file (closes: #202316) + + added a patch which fixes a typo in map.txt (closes: #198667) + + modified gvim and kvim menu entry, so they are started with -f now + (closes: #153112) + + added -f to mailcap view rules (closes: #101377) + + -- Norbert Tretkowski Sat, 29 May 2004 22:43:11 -0300 + +vim (1:6.2-532+4) unstable; urgency=low + + * Norbert Tretkowski : + + used --with-features=big also for vim-basic variant (closes: #228485) + + binaries now including debugging information (closes: #249602) + + added support for "nostrip" in $DEB_BUILD_OPTIONS + + removed patch from Uli Martens introduced in 1:6.2-214+1 which modifies + runtime path in macros/less.sh, it's no longer needed since 1:6.2-532+3 + + modified link to upstream changelog, it's no longer gzipped since + 1:6.2-532+1 + + added version (>= 2.2) to libgtk2.0-dev build-dependency + + added priority to kvim package in control file + + -- Norbert Tretkowski Wed, 19 May 2004 16:30:25 +0200 + +vim (1:6.2-532+3) unstable; urgency=low + + * Norbert Tretkowski : + + added a patch from Peter Jay Salzman which fixes a typo in + hebrewp_utf-8.vim (closes: #197932) + + added a syntax file from Luca De Vitis which adds support for debconf + templates (closes: #168731) + + moved macros and tools back into runtime directory (closes: #190181) + + moved runtimepath above inclusion of filetype.vim in /etc/vim/vimrc + (closes: #248402) + + really added a patch from Jeff Layton with a syntax correction for + quoted here-documents (closes: #248562) + + less.sh is now executable (closes: #244599) + + modified new versioned dependencies from 1:6.2-532+2 so the dependency + is only on upstream release (closes: #248949) + + corrected version number in kvim conflicts/replaces, the epoche was + missing + + made /usr/share/doc/vim-common a symlink to /usr/share/doc/vim + + modified some overrides to shut up installer at ftp-master + + -- Norbert Tretkowski Sat, 15 May 2004 16:22:56 +0200 + +vim (1:6.2-532+2) unstable; urgency=low + + * Norbert Tretkowski : + + changes in debian/control from Michaels patch for hurd-i386 build got + lost (really closes: #244769) + + reenabled python package build for hurd-i386 build + + added versioned dependency on vim to vim-common and vice versa + (closes: #248423, #248563) + + build-conflict with libperl-dev (= 5.8.4-1) because it's broken + (see #247291 for details) + + added a patch from Jeff Layton with a syntax correction for quoted + here-documents (closes: #248562) + + updated netrw plugin (closes: #248623) + + updated squid syntax file (closes: #247810) + + added menu hints (closes: #82322) + + added background for syntax highlighting in vimrc (closes: #99762) + + disabled regenerating of tags file (closes: #244852) + + case-insensitive field names in debcontrol.vim (closes: #102232) + + added some notes about reporting bugs against this package to + README.Debian + + removed note about modelines from README.Debian + + -- Norbert Tretkowski Wed, 12 May 2004 20:42:56 +0200 + +vim (1:6.2-532+1) unstable; urgency=low + + * Norbert Tretkowski : + + new upstream patches (427 to 532), see README.gz for details + + no longer compress helpfiles, it breaks :helpg (closes: #244114) + + added a patch which fixes svn commit file highlighting + (closes: #239320, #242286) + + added a patch from Jan Minar which fixes a documentation error in + cmdline.txt (closes: #241907) + + added a patch from Roland Stigge which adds "Enhances" keyword to + debcontrol syntax highlighting (closes: #235524) + + added a patch from Domenico Andreoli which adds "reiserfs4" keyword to + fstab syntax highlighting (closes: #236571) + + applied a patch from Michael Bank which adds some exceptions for + hurd-i386 build (closes: #244769) + + added alternative for gnome-text-editor to vim-gnome (closes: #243443) + + added alternative for gvim.1.gz to vim.1.gz (closes: #231503, #238181) + + added vim-policy.txt to vim package (closes: #246174) + + cleaned up debian/rules file and files in debian/patches a bit + + * Mickael Marchand : + + updated kvim patch to apply without conflicts to new vim upstream + patches + + -- Norbert Tretkowski Sat, 08 May 2004 22:42:16 +0200 + +vim (1:6.2-426+1) unstable; urgency=low + + * Norbert Tretkowski : + + new upstream patches (365 to 426), see README.gz for details + + updated 01ruby_mkmf.diff to apply without conflicts to new vim upstream + patches + + * Mickael Marchand : + + updated kvim patch to apply without conflicts to new vim upstream + patches + + -- Norbert Tretkowski Thu, 01 Apr 2004 17:14:13 +0200 + +vim (1:6.2-364+1) unstable; urgency=low + + * Norbert Tretkowski : + + new upstream patches (354 to 364), see README.gz for details + + reenabled modelines in default vimrc (closes: #205501) + + -- Norbert Tretkowski Tue, 16 Mar 2004 19:09:35 +0100 + +vim (1:6.2-353+1) unstable; urgency=low + + * Norbert Tretkowski : + + new upstream patches (317 to 353), see README.gz for details + (closes: #188640) + + removed second /etc/vim from global runtime patch (closes: #237197) + + added vimrc_example.vim to $VIMRUNTIME (closes: #127141) + + -- Norbert Tretkowski Sat, 13 Mar 2004 16:25:06 +0100 + +vim (1:6.2-316+1) unstable; urgency=low + + * Norbert Tretkowski : + + new upstream patches (295 to 316), see README.gz for details + + -- Norbert Tretkowski Thu, 04 Mar 2004 22:27:35 +0100 + +vim (1:6.2-294+1) unstable; urgency=low + + * Norbert Tretkowski : + + new upstream patches (271 to 294), see README.gz for details + + moved arch independant data in a separate vim-common package + (closes: #233454) + + added a patch to recognize new keywords for java 1.5 in java syntax + file, thanks to Seneca Cunningham (closes: #231916) + + added a provides: kvim to kvim-packages (closes: #234690) + + * Mickael Marchand : + + updated kvim patch to apply without conflicts to new vim upstream + patches + + -- Norbert Tretkowski Sun, 29 Feb 2004 14:48:45 +0100 + +vim (1:6.2-270+1) unstable; urgency=low + + * Norbert Tretkowski : + + new upstream patches (215 to 270), see README.gz for details + + updated 01ruby_mkmf.diff and 11allow-threaded-perl.diff to apply without + conflicts to new vim upstream patches + + * Mickael Marchand : + + updated kvim patch to apply without conflicts to new vim upstream + patches + + -- Norbert Tretkowski Wed, 18 Feb 2004 00:22:01 +0100 + +vim (1:6.2-214+2) unstable; urgency=low + + * Mickael Marchand : + + add support for kvim-python, kvim-perl, kvim-tcl and kvim-ruby + (closes: #228865) + + add /etc/vim/gvimrc to kvim* packages + + -- Mickael Marchand Fri, 30 Jan 2004 00:52:11 +0100 + +vim (1:6.2-214+1) unstable; urgency=low + + * Norbert Tretkowski : + + new Co-Maintainer Mickael Marchand + + new upstream patches (182 to 214), see README.gz for details + + added a patch which adds sysfs to fstab keywords, thanks to Iain + Broadfoot (closes: #228475) + + added a patch which modifies runtime path in macros/less.sh, thanks + to Uli Martens (closes: #228779) + + * Mickael Marchand : + + updated kvim patch to apply without conflicts to new vim upstream + patches + + -- Norbert Tretkowski Wed, 28 Jan 2004 20:18:52 +0100 + +vim (1:6.2-181+1) unstable; urgency=low + + * new upstream patches (174 to 181), see README.gz for details + * added gvim to GNOME application menu, thanks to Lee Maguire + (closes: #226848) + + -- Norbert Tretkowski Fri, 16 Jan 2004 01:48:32 +0100 + +vim (1:6.2-173+1) unstable; urgency=low + + * new upstream patches (171 to 173), see README.gz for details + * added some more replaces to vim and kvim to avoid problems when upgrading + from older kvim (closes: #226735) + * added a patch which adds usbdevfs to fstab keywords, thanks to Ludovit + Hamaj (closes: #226714) + + -- Norbert Tretkowski Thu, 08 Jan 2004 19:19:01 +0100 + +vim (1:6.2-170+1) unstable; urgency=low + + * new upstream patches (155 to 170), see README.gz for details + * updated kvim patch to apply without conflicts to new vim upstream patches, + thanks to Mickael Marchand + * updated 01ruby_mkmf.diff and 11allow-threaded-perl.diff to apply without + conflicts to new vim upstream patches + * new Maintainer: Norbert Tretkowski + * new Co-Maintainer: Luca Filipozzi + * added FAQ.gz to vim package (closes: #221909) + * added additional php keywords to syntax file, thanks to Tobias Olsson and + Jill Vogel (closes: #148757, #176448) + * added german umlauts to keymap file, thanks to Marco Herrn + (closes: #217633) + * added filetypes for php4 + + -- Norbert Tretkowski Tue, 30 Dec 2003 14:48:31 +0100 + +vim (1:6.2-154+1) unstable; urgency=low + + * new upstream patches (150 to 154), see README.gz for details + * added new variant for a lesstif package, thanks to Bernd Westphal + * added a patch to recognize reply-hook keyword in the muttrc syntax file, + thanks to Marco Herrn (closes: #221350) + + -- Norbert Tretkowski Wed, 10 Dec 2003 00:18:35 +0100 + +vim (1:6.2-149+1) unstable; urgency=low + + * new upstream patches (146 to 149), see README.gz for details + * added a patch to fix wrong highlighting in makefiles, thanks to Cyrille + Dunant (closes: #133323) + * added another patch to add '.' to debcontrolName highlighting, thanks to + David Weinehall (closes: #117038) + + -- Norbert Tretkowski Sun, 9 Nov 2003 21:21:39 +0100 + +vim (1:6.2-145+1) unstable; urgency=low + + * new upstream patches (140 to 145), see README.gz for details + * added arabic support, thanks to Mohammed Elzubeir and Anmar Oueja + (closes: #216012) + * updated kvim patch to apply without conflicts to new vim upstream patches, + thanks to Mickael Marchand + * updated 01ruby_mkmf.diff and 11allow-threaded-perl.diff to apply without + conflicts to new vim upstream patches + * renamed ruby1.8 build-dependency to ruby + + -- Norbert Tretkowski Wed, 5 Nov 2003 22:51:15 +0100 + +vim (1:6.2-139+1) unstable; urgency=low + + * new upstream patches (128 to 139), see README.gz for details + * merge with kvim source package, thanks to Mickael Marchand + (closes: #214076) + + -- Norbert Tretkowski Sun, 2 Nov 2003 19:51:14 +0100 + +vim (1:6.2-127+1) unstable; urgency=low + + * new upstream patches (107 to 127), see README.gz for details + * used suggests instead of depends on vim for vim-doc + + -- Norbert Tretkowski Fri, 17 Oct 2003 12:45:15 +0200 + +vim (1:6.2-106+4) unstable; urgency=low + + * vim-gnome now conflict with vim-gtk, and vice versa (closes: #214580) + * using pre-depends to fix #211710 and to handle overwriting of moved gvimrc + was a really bad idea, used replaces instead (closes: #214759) + * added a ttf-bitstream-vera suggests to gui packages because it seems to be + the only font which works fine with gtk2 gui + * added a note about gui support to perl, python, ruby and tcl package + description + * corrected short description in vim-gnome package + + -- Norbert Tretkowski Wed, 8 Oct 2003 23:52:27 +0200 + +vim (1:6.2-106+3) unstable; urgency=low + + * moved vim-usermanual and vim-referencemanual to vim-doc package + (closes: #214462, #214556) + * removed perl, python, ruby, tcl support from vim-gtk and vim-gnome + (closes: #214422) + * gzipped /usr/share/vim/vim62/doc/help.txt (closes: #214115) + + -- Norbert Tretkowski Tue, 7 Oct 2003 14:43:23 +0200 + +vim (1:6.2-106+2) unstable; urgency=low + + * really removed html documentation from vim package (closes: #211710) + + -- Norbert Tretkowski Mon, 29 Sep 2003 19:09:11 +0200 + +vim (1:6.2-106+1) unstable; urgency=low + + * new upstream patches (99 to 106), see README.gz for details + * added a note to README.Debian about new modeline behaviour + (closes: #212696) + * helpztags update, fixes production of tag files in improper format which + vim can't understand (closes: #213032) + * temporary disabled copying debian/vim-install into vim package, waiting + for an update (see #213034 for details) + + -- Norbert Tretkowski Sat, 27 Sep 2003 23:26:43 +0200 + +vim (1:6.2-098+5) unstable; urgency=low + + * added a several requested vim-gnome package (closes: #211820) + + -- Norbert Tretkowski Fri, 26 Sep 2003 20:19:51 +0200 + +vim (1:6.2-098+4) unstable; urgency=low + + * the "Happy Birthday Norbert" release + * corrected buggy Depends line in debian/control for packages depending on + vim, which should fix build problems (closes: #212686) + + -- Norbert Tretkowski Thu, 25 Sep 2003 12:36:47 +0200 + +vim (1:6.2-098+3) unstable; urgency=low + + * yet another helpztags update + + -- Norbert Tretkowski Wed, 24 Sep 2003 15:30:41 +0200 + +vim (1:6.2-098+2) unstable; urgency=low + + * added a pre-depends on vim to vim-doc (closes: #211710) + * updated helpztags and modified debian/rules to create a manpage, + thanks again to Artur R. Czechowski (closes: #211763) + * compiled in runtime path extension and removed entry from vimrc + * changed build-depends from tcl8.3 to tcl8.4 + + -- Norbert Tretkowski Wed, 24 Sep 2003 12:19:26 +0200 + +vim (1:6.2-098+1) unstable; urgency=low + + * new major upstream release (6.2) (closes: #196411, #205204) + * new upstream patches (1 to 98), see README.gz for details + * new Co-Maintainer: Norbert Tretkowski + * started putting upstream changes in a separate file + * added a patch that adds s390 support for control file syntax + highlighting (closes: #114750) + * moved to ruby1.8 (closes: #211539) + * enabled cscope functionality in vim package (closes: #159728) + * reenabled perl support in vim-perl package (closes: #200410) + * modified runtimepath in vimrc, added a README.Debian, helpztags and + vim-install to vim package, thanks Artur R. Czechowski + * added a Pre-Depends to packages depending on vim for a smooth upgrade + from older releases + * updated slrnrc syntax highlighting file, thanks to Sebastian Krause + * modified Build-Depends for an easier build on woody + * bumped up Standards-Version (no changes) + * moved config file and symlinks for gui version from vim package to each + of the additional packages (closes: #114944, #153068, #155711) + * fixed debchangelog syntax match, thanks to Gerfried Fuchs and Uli + Martens (closes: #153426) + * moved html documentation to new vim-doc package (closes: #121075) + + -- Norbert Tretkowski Sun, 14 Sep 2003 22:48:51 +0200 + +vim (1:6.1-474+2) unstable; urgency=low + + * debian/patches/07scripts.vim: fix typo that causes all files to be syntax + highlighed as though they were cvs diff files (closes: #194583) + + -- Luca Filipozzi Mon, 26 May 2003 08:01:06 -0700 + +vim (1:6.1-474+1) unstable; urgency=low + + * debian/vim.postinst + debian/vim-variant.postinst: delete symlinks located + in /usr/doc (closes: #189858, #190022) + * debian/rules + debain/runtime/vimrc: applied a patch that causes build + system to not compress the top level vim documenation file, help.txt; this + is needed so that plugin documentation can be merged into the online help + (closes: #186673) [thanks to: Recai Oktas] + * debian/patches/02debcontrol.vim: applied a patch that prevents vim syntax + erroneous highlighting of email addresses in Debian control files + (closes: #186673) [thanks to: Dmitry Borodaenko] + * debian/patches/03debcontrol.vim: applied a patch that makes the syntax + highlighter recongize the new Debian sections: embedded, gnome, kde, + libdevel, perl, python + (closes: #193235) [thanks to: Branden Robinson] + * debian/patches/04vim.1: applied a patch that documents -X flag + (closes: #141804) [thanks to: Guido Guenther] + * debian/patches/05muttrc.vim: applied a patch that adds several keywords + starting with 'crypt-', reflecting recent changes in muttrc syntax + (closes: #190864) [thanks to: Marco Herrn] + * debian/patches/06tasm.vim: applied a patch that fixes minor typo + (closes: #165819) [thanks to: David Weinehall] + * debian/patches/07scripts.vim.diff: applied a patch that helps vim correctly + highlight cvs diff output + (closes: #152721) [thanks to: Guido Guenther] + * debian/patches/08sh.vim.diff: applied a patch that increases the strictness + of Bourne shell syntax highlighting with respect to "if [ ]" constructs + (closes: #140203) [thanks to: Malcolm Parsons] + * debian/patches/09c.vim.diff: applied a patch that adds additional signal + names to the list of recognized signals for syntax highlighting + (closes: #173797) [thanks to: Wolfram Quester] + * debian/patches/10apache.vim.diff: applied a patch that adds SSLEnable + to the list of recognized keyworkds (closes: #135243) + * debian/runtime/vimrc: applied a patch that makes vim set printoptions + paper to /etc/papersize as per Debian standards + (closes: #127830) [thanks to: Ken Shan] + * new upstream patches: + + 6.1.321: When 'mouse' includes 'n' but not 'v', don't allow starting + Visual mode with the mouse. + + 6.1.322: Win32: The host name is always "PC " plus the real host + name. + + 6.1.323: ":registers" doesn't stop listing for a "q" at the more + prompt. + + 6.1.324: Crash when dragging a vertical separator when + is remapped to jump to another window. + + 6.1.325: Shift-Tab is not automatically recognized in an xterm. + + 6.1.326: Using a search pattern may read from uninitialized data + (Yasuhiro Matsumoto) + + 6.1.327: When opening the "mbyte.txt" help file the utf-8 characters + are unreadable, because the fileencoding is forced to be latin1. + + 6.1.328: Prototype for enc_canon_search() is missing. + + 6.1.329: When editing a file "a b c" replacing "%" in ":Cmd %" or + ":next %" does not work properly. + + 6.1.330: GTK, Motif and Athena: Keypad keys produce the same code + as non-keypad keys, making it impossible to map them separately. + + 6.1.331: When translating the help files, "LOCAL ADDITIONS" no + longer marks the spot where help files from plugins are to be listed. + + 6.1.332: Win32: Loading Perl dynamically doesn't work with Perl + 5.8. Perl 5.8 also does not work with Cygwin and Ming. + + 6.1.333: Win32: Can't handle Unicode text on the clipboard. Can't + pass NUL byte, it becomes a line break. + + 6.1.334: Problem with drawing Hebrew characters. + + 6.1.335: Failure of obtaining the cursor position and window size + is ignored. + + 6.1.336: Warning for use of function prototypes of smsg(). + + 6.1.337: When using "finish" in debug mode in function B() for + ":call A(B())" does not stop after B() is finished. + + 6.1.338: When using a menu that checks out the current file from + Insert mode, there is no warning for the changed file until exiting + Insert mode. + + 6.1.339: Completion doesn't allow "g:" in ":let g:did_". (Benji + Fisher) + + 6.1.340: Win32: Can't compile the Perl interface with nmake. + + 6.1.341: In Insert mode with 'rightleft' set the cursor is drawn + halfway a double-wide character. For CTRL-R and CTRL-K in Insert + mode the " or ? is not displayed. + + 6.1.342: With 'rightleft' set typing "c" on a double-wide character + causes the cursor to be displayed one cell to the left. + + 6.1.343: Cannot compile with the +multi_byte feature but without + +rightleft. Cannot compile without the GUI. + + 6.1.344: When using ":silent filetype" the output is still put in + the message history. + + 6.1.345: Win32: 'imdisable' doesn't work. + + 6.1.346: The scroll wheel can only scroll the current window. + + 6.1.347: When using cscope to list matching tags, the listed number + is sometimes not equal to what cscope uses. + + 6.1.348: Wildmode with wildmenu: ":set wildmode=list,full", + ":colorscheme " results in "zellner" instead of the first + entry. (Anand Hariharan) + + 6.1.349: "vim --serverlist" when no server was ever started gives + an error message without "\n". "vim --serverlist" doesn't exit when + the X server can't be contacted, it starts Vim unexpectedly. + + 6.1.350: When entering a buffer with ":bnext" for the first time, + using an autocommand to restore the last used cursor position + doesn't work. + + 6.1.351: Crash when starting Vim the first time in an X server. (John + McGowan) + + 6.1.352: Win32: Crash when setting "imdisable" in _vimrc. + + 6.1.353: Problem with drawing Arabic characters. + + 6.1.354: MS-Windows 98: Notepad can't paste text copied from Vim when + 'encoding' is "utf-8". + + 6.1.355: In a regexp '\n' will never match anything in a string. + + 6.1.356: Compiler warnings for using convert_setup() and a few + other things. + + 6.1.357: CR in the quickfix window jumps to the error under the + cursor, but this doesn't work in Insert mode. + + 6.1.358: The tutor doesn't select another locale version properly. + + 6.1.359: Mac Carbon: Vim doesn't get focus when started from the + command line. Crash when using horizontal scroll bar. + + 6.1.360: In Insert mode CTRL-K ESC messes up a multi-byte character. + + 6.1.361: Cannot jump to a file mark with ":'M". + + 6.1.362: tgetent() may return zero for success. tgetflag() may + return -1 for an error. + + 6.1.363: byte2line() can return one more than the number of lines. + + 6.1.364: That the FileChangedShell autocommand event never nests + makes it difficult to reload a file in a normal way. + + 6.1.365: Setting a breakpoint in a sourced file with a relative + path name doesn't work. + + 6.1.366: Can't use Vim with Netbeans. + + 6.1.367: Setting a breakpoint in a function doesn't work. For + a sourced file it doesn't work when symbolic links are + involved. (Servatius Brandt) + + 6.1.368: Completion for ":map" does not include and +