mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00:00
updated for version 7.0038
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.0aa. Last change: 2005 Jan 11
|
||||
*todo.txt* For Vim version 7.0aa. Last change: 2005 Jan 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -30,13 +30,42 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Fixes in ex_getln.c also in Vim 6.3.
|
||||
"daw" doesn't delete white space before single word in line. (Jens Paulus)
|
||||
|
||||
Dictionary:
|
||||
- filter() for dictionaries: :call filter(dict, '& =~ "bla.*"')
|
||||
& for key, &v for value?
|
||||
- functions:
|
||||
len(dict) nr of items
|
||||
copy(dict) make a copy
|
||||
deepcopy(dict) make a copy recursively
|
||||
has_key(dict, key) whether key is present
|
||||
getval(dict, key [, default])
|
||||
extend(dict1, dict2) add items from dict2 to dict1
|
||||
- Using "self" in function with "dict" attribute. Also allow l:self.
|
||||
Such a function must be called from a dictionary entry.
|
||||
Third argument of call() passes dictionary:
|
||||
:let res = call(function("DictFunc"), arglist, mydict)
|
||||
- Define nameless function: ":function dict.key(arg)"
|
||||
- ":delfunc dict.key".
|
||||
- ":unlet dict.key" "unlet list[idx]"
|
||||
|
||||
Mention Rsync command on runtime.php page:
|
||||
rsync -avzcP --delete --exclude="dos" --delete-excluded ftp.nluug.nl::Vim/runtime/ vim63-runtime
|
||||
|
||||
List type:
|
||||
- Make second index in list[i:j] exclusive, like Python?
|
||||
Marcus Aurelius: yes
|
||||
- Add List functions to version7.txt.
|
||||
- Add List functions to overview of funtions in user manual.
|
||||
- Explain Lists in the user manual?
|
||||
|
||||
Add +=, -= and .= assignments.
|
||||
|
||||
netrw plugin:
|
||||
- provide :Explore and :Sexplore like the old file explorer?
|
||||
- alignment of long listing isn't very good.
|
||||
|
||||
Better way to get temp file for tcltags and vimspell scripts. (javier Pena)
|
||||
Possibly leave out code for temp directory.
|
||||
|
||||
@ -124,6 +153,10 @@ PLANNED FOR VERSION 7.0:
|
||||
- Check Readline for its completion interface.
|
||||
- Use ctags for other languages. Writing a file could trigger running
|
||||
ctags, merging the tags of the changed file.
|
||||
Also see "Visual Assist" http://www.wholetomato.com/products:
|
||||
- Put the list of choices right under the place where they would be
|
||||
inserted.
|
||||
- Pre-expand abbreviations, show which abbrevs would match?
|
||||
- UNDO TREE: keep all states of the text, don't delete undo info.
|
||||
When making a change, instead of clearing any future undo (thus redo)
|
||||
info, make a new branch.
|
||||
@ -144,6 +177,7 @@ PLANNED FOR VERSION 7.0:
|
||||
extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
|
||||
7 Support WINDOW TABS. Works like several pages, each with their own
|
||||
split windows. Patch for GTK 1.2 passed on by Christian Michon, 2004 Jan 6.
|
||||
Don't forget to provide an "X" to close a tab.
|
||||
Also for the console!
|
||||
In Emacs these are called frames. Could also call them "pages".
|
||||
Use "1gt" - "99gt" to switch to a tab?
|
||||
@ -244,6 +278,10 @@ List data type performance:
|
||||
- Cache the last used index?
|
||||
- Use blocks of items, so that finding an item by index is faster?
|
||||
|
||||
Dictionary data type performance:
|
||||
- Use a hash to locate items
|
||||
|
||||
|
||||
Awaiting updated patches:
|
||||
--- awaiting updated patch ---
|
||||
7 Add patch from Wall for this one ( ~/Mail/oldmail/wall/in.00019 ):
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 7.0aa. Last change: 2005 Jan 11
|
||||
*version7.txt* For Vim version 7.0aa. Last change: 2005 Jan 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -51,6 +51,10 @@ buffer is still modified compared to the original file. And when undoing
|
||||
all changes the file would actually be marked modified. It does mean that
|
||||
":quit" fails now.
|
||||
|
||||
In a |literal-string| a single quote can be doubled to get one.
|
||||
":echo 'a''b'" would result in "a b", but now that two quotes stand for one it
|
||||
results in "a'b".
|
||||
|
||||
|
||||
Minor incompatibilities:
|
||||
|
||||
@ -76,9 +80,9 @@ Win32: The effect of the <F10> key depended on 'winaltkeys'. Now it depends
|
||||
on whether <F10> has been mapped or not. This allows mapping <F10> without
|
||||
changing 'winaltkeys'.
|
||||
|
||||
When using CTRL-A on "08" it became "018", which is illogical. Now it becomes
|
||||
"9". The leading zero(s) is(are) removed to avoid the number becoming octal
|
||||
after incrementing "009" to "010".
|
||||
When 'octal' is in 'nrformats' and using CTRL-A on "08" it became "018", which
|
||||
is illogical. Now it becomes "9". The leading zero(s) is(are) removed to
|
||||
avoid the number becoming octal after incrementing "009" to "010".
|
||||
|
||||
When 'encoding' is set to a Unicode encoding, the value for 'fileencodings'
|
||||
now includes "default" before "latin1". This means that for files with 8-bit
|
||||
@ -106,10 +110,6 @@ The |string()| function can be used to get a string representation of a
|
||||
variable. Works for Numbers, Strings and composites of them. Then |eval()|
|
||||
can be used to turn the string back into the variable value.
|
||||
|
||||
The |sharp-string| has been added as a convenient way to put an expression in
|
||||
a string. Examples: >
|
||||
:let l = filter(mylist, # & =~ '^\A'#)
|
||||
|
||||
|
||||
KDE support *new-KDE*
|
||||
-----------
|
||||
@ -392,6 +392,8 @@ a bit less dependent on the X11 font management.
|
||||
|
||||
When a register is empty it is not stored in the viminfo file.
|
||||
|
||||
Removed the tcltags script, it's obsolete.
|
||||
|
||||
==============================================================================
|
||||
COMPILE TIME CHANGES *compile-changes-7*
|
||||
|
||||
@ -662,4 +664,7 @@ mode. (Peter Winters)
|
||||
|
||||
"2daw" didn't work at end of file if the last word is a single character.
|
||||
|
||||
Completion for ":next a'<Tab>" put a backslash before single quote, but it was
|
||||
not removed when editing a file. Now halve backslashes in save_patterns().
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
@ -1,6 +1,8 @@
|
||||
" Polish letters keymap for cp1250
|
||||
" Maintainer: HS6_06 <hs6_06@o2.pl>
|
||||
" Last Changed: 2005 Jan 9
|
||||
" Last Changed: 2005 Jan 12
|
||||
" Current version: 1.0.2
|
||||
" History: see polish-slash.vim
|
||||
|
||||
" This keymap adds the special Polish letters
|
||||
" to an existing Latin keyboard.
|
||||
@ -9,7 +11,7 @@
|
||||
" instead of AltGr+{acelnosxz} you ve to use "/" followed by {acelnosxz}
|
||||
|
||||
" short keymap name for statusline
|
||||
let b:keymap_name = "polish-slash-cp1250"
|
||||
let b:keymap_name = "PL-slash-WIN"
|
||||
|
||||
scriptencoding latin1
|
||||
|
||||
|
@ -1,159 +0,0 @@
|
||||
#!/bin/sh
|
||||
# vim:ts=4:
|
||||
# Generates a tag file for TCL code. Slow, but gets the job done.
|
||||
#
|
||||
# Written by Darren Hiebert <darren@hiebert.com>
|
||||
|
||||
program_name=`basename $0`
|
||||
program_version="0.3"
|
||||
program_author="Darren Hiebert"
|
||||
author_email="darren@hiebert.com"
|
||||
tmp_tagfile=/tmp/${program_name}.$$
|
||||
|
||||
usage="\
|
||||
Usage: $program_name [-au] [-{f|o} tagfile] [--format=n] file(s)
|
||||
-a append to current tag file
|
||||
-f tagfile specify output tag file name (default=tags)
|
||||
-o alternative for -f
|
||||
-u unsorted
|
||||
--format=n specify tag file format (default=2)
|
||||
--help print this help message
|
||||
"
|
||||
|
||||
# defaults
|
||||
#
|
||||
append=0
|
||||
format=2
|
||||
sorted=1
|
||||
tagfile=tags
|
||||
filelist=
|
||||
|
||||
# read options
|
||||
#
|
||||
getparam()
|
||||
{
|
||||
if [ -n "$1" ]; then
|
||||
# set variable to word passed in
|
||||
echo "$2='$1'; opt="
|
||||
else
|
||||
# set variable to next word on command line
|
||||
echo "$2="'$1'"; shift"
|
||||
fi
|
||||
}
|
||||
|
||||
finished=0
|
||||
while [ $# -gt 0 -a $finished -eq 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
--*)
|
||||
opt=`echo "$1" | cut -c 3-`
|
||||
shift
|
||||
opt_name=`echo "$opt" | awk -F= '{print $1}'`
|
||||
opt_value=`echo "$opt" | awk -F= '{print $2}'`
|
||||
case "$opt_name" in
|
||||
format) case "$opt_value" in
|
||||
1|2) format=$opt_value;;
|
||||
*) echo "--$opt: unsupported value" >&2; exit 1;;
|
||||
esac
|
||||
;;
|
||||
help) echo "$usage"; exit 0;;
|
||||
*) echo "$opt_name: unsupported option" >&2; exit 1;;
|
||||
esac
|
||||
;;
|
||||
-*)
|
||||
# chop off leading '-'
|
||||
opt=`echo "$1" | cut -c 2-`
|
||||
shift
|
||||
while [ -n "$opt" ]
|
||||
do
|
||||
opt_char=`echo "$opt" | cut -c 1`
|
||||
opt=`echo "$opt" | cut -c 2-`
|
||||
case "$opt_char" in
|
||||
a) append=1;;
|
||||
u) sorted=0;;
|
||||
o|f) eval `getparam "$opt" tagfile`;;
|
||||
*) echo "$opt: unsupported option" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
;;
|
||||
*) filelist="$*"; break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$filelist" ] ;then
|
||||
echo "$usage" >&2; exit 1
|
||||
fi
|
||||
|
||||
# awk program for generating tags
|
||||
#
|
||||
ext_flags=""
|
||||
ttype=""
|
||||
if [ $format -eq 2 ] ;then
|
||||
ext_flags=';\" %s'
|
||||
ttype=", type"
|
||||
fi
|
||||
awkprg='
|
||||
function trim_comment(string) {
|
||||
comment = index(string, "#")
|
||||
if (comment != 0)
|
||||
string = substr(string, 0, comment-1)
|
||||
return string
|
||||
}
|
||||
function maketag(tagname, pattern, type, line_end) {
|
||||
gsub(/\\/, "\\\\", pattern)
|
||||
gsub(/\//, "\\/", pattern)
|
||||
if (line_end)
|
||||
terminator="$"
|
||||
else
|
||||
terminator=""
|
||||
printf("%s\t%s\t/^%s%s/'"$ext_flags"'\n", \
|
||||
tagname, FILENAME, pattern, terminator'"$ttype"')
|
||||
}
|
||||
$1 == "proc" && $3 ~ /^{/ {
|
||||
pattern = substr($0, 0, index($0, "{"))
|
||||
maketag($2, pattern, "f", 0)
|
||||
}
|
||||
/^set[ \t]/ && $2 !~ /\(/ {
|
||||
pattern = substr($0, 0, index($0, $2) + length($2))
|
||||
maketag($2, pattern, "v", 0)
|
||||
}
|
||||
/^array[ \t]*set[ \t]/ && $3 !~ /\(/ {
|
||||
pattern = substr($0, 0, index($0, $3) + length($3))
|
||||
maketag($3, pattern, "v", 0)
|
||||
}'
|
||||
|
||||
# add or correct the pseudo tags
|
||||
#
|
||||
if [ "$tagfile" != "-" ] ;then
|
||||
if [ $append -eq 1 ]; then
|
||||
# ensure existing sort flag is correct
|
||||
sed -e "/^!_TAG_FILE_SORTED/s/ [01] / $sorted /" \
|
||||
-e "/^!_TAG_FILE_FORMAT/s/ 1 / $format /" \
|
||||
$tagfile > $tmp_tagfile
|
||||
else
|
||||
echo -ne "\
|
||||
!_TAG_FILE_FORMAT $format /extended format; --format=1 will not append ;\" to lines/
|
||||
!_TAG_FILE_SORTED $sorted /0=unsorted, 1=sorted/
|
||||
!_TAG_PROGRAM_AUTHOR $program_author /$author_email/
|
||||
!_TAG_PROGRAM_NAME $program_name //
|
||||
!_TAG_PROGRAM_VERSION $program_version //
|
||||
" > $tmp_tagfile
|
||||
fi
|
||||
fi
|
||||
|
||||
# generate tags
|
||||
#
|
||||
awk "$awkprg" $filelist >> $tmp_tagfile
|
||||
|
||||
if [ $sorted -eq 1 ] ;then
|
||||
sort -u -o $tmp_tagfile $tmp_tagfile
|
||||
fi
|
||||
|
||||
if [ "$tagfile" = '-' ] ;then
|
||||
cat $tmp_tagfile
|
||||
else
|
||||
cp $tmp_tagfile $tagfile
|
||||
fi
|
||||
rm $tmp_tagfile
|
||||
|
||||
exit 0
|
1407
src/eval.c
1407
src/eval.c
File diff suppressed because it is too large
Load Diff
@ -905,6 +905,9 @@ do_filter(line1, line2, eap, cmd, do_in, do_out)
|
||||
curbuf->b_op_end.lnum -= linecount; /* adjust '] */
|
||||
write_lnum_adjust(-linecount); /* adjust last line
|
||||
for next write */
|
||||
#ifdef FEAT_FOLDING
|
||||
foldUpdate(curwin, curbuf->b_op_start.lnum, curbuf->b_op_end.lnum);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -914,6 +917,7 @@ do_filter(line1, line2, eap, cmd, do_in, do_out)
|
||||
curwin->w_cursor.lnum = curbuf->b_op_end.lnum;
|
||||
linecount = curbuf->b_op_end.lnum - curbuf->b_op_start.lnum + 1;
|
||||
}
|
||||
|
||||
beginline(BL_WHITE | BL_FIX); /* cursor on first non-blank */
|
||||
--no_wait_return;
|
||||
|
||||
|
@ -4240,7 +4240,7 @@ gui_mch_font_dialog(char_u *oldval)
|
||||
GTK_FONT_SELECTION_DIALOG(dialog), (const char *)oldname);
|
||||
|
||||
if (oldname != oldval)
|
||||
vim_free(oldval);
|
||||
vim_free(oldname);
|
||||
}
|
||||
|
||||
response = gtk_dialog_run(GTK_DIALOG(dialog));
|
||||
|
Reference in New Issue
Block a user