-*todo.txt* For Vim version 7.0aa. Last change: 2005 Dec 08
+*todo.txt* For Vim version 7.0aa. Last change: 2005 Dec 10
VIM REFERENCE MANUAL by Bram Moolenaar
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Cygwin and Mac OS/X may preserve case for file names but ignore case
-differences. Use Amiga code?
+When a buffer has no name, ":w >>fname" uses "fname" for the buffer, that is
+not logical.
SwapExists with editexisting plugin: Is there a simple way to detect ":tag
function" and have the remote Vim jump to the tag?
- page-up / page-down
spelling:
-- "z?" was to be used for searching in folded text. Use something else for
- suggestions. "z="?
-- When a recognized word ends in a . don't have 'spellcapcheck" match it.
- Use KEEPCASE instead of "KEP". It applies to the word including affixes
Hunspell also uses it.
- Hunspell has NOSUGGEST flag (use for obscene words?)
- Look into hungarian dictionary:
http://magyarispell.sourceforge.net/rc3-beta2.zip
- Support breakpoint character ยท 0xb7 and ignore it?
-- Dutch word list should be available here: http://www.woordenlijst.org/
8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to
obtain). But new Myspell wordlist will come (Hagen)
- Finding suggestions with sound folding is slow. Somehow store the
- highlighting "~/vim/test/longline.tex", "~/vim/test/scwoop.tcl" and
"~/vim/test/lockup.pl".
- loading a syntax file to highlight all words not from a dictionary.
- - editing a vim script with syntax highlighting on (loading vim.vim).
+ - editing a Vim script with syntax highlighting on (loading vim.vim).
7 Screen updating can be further improved by only redrawing lines that were
changed (and lines after them, when syntax highlighting was used, and it
changed).
typing, error messages must be switched back on.
Also a flag to ignore error messages for shell commands (for mappings).
- Option to set time for emsg() sleep. Interrupt sleep when key is typed?
- sleep before second message?
+ Sleep before second message?
8 In Ex silent mode or when reading commands from a file, what exactly is
not printed and what is? Check ":print", ":set all", ":args", ":vers",
etc. At least there should be no prompt. (Smulders) And don't clear the
continuation lines. Allows changing 'tabstop' without messing up the
indents.
And/or: Add option to copy indent as-is, without changing spaces to tabs.
- also for 'autoindent'. 'keeptabs': when set don't change the tabs and
+ Also for 'autoindent'. 'keeptabs': when set don't change the tabs and
spaces used for indent, when the indent remains the same or increases.
behave like 'scrolloff' is one, so that the text scrolls when the pointer
is in the top line.
8 When using "I" or "A" in Visual block mode, short lines do not get the new
- text. make it possible to add the text to short lines too, with padding
+ text. Make it possible to add the text to short lines too, with padding
where needed.
7 With a Visual block selected, "2x" deletes a block of double the width,
"3y" yanks a block of triple width, etc.
/* os_unix.c */
-void mch_write __ARGS((char_u *s, int len));
-int mch_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
-int mch_char_avail __ARGS((void));
-long_u mch_total_mem __ARGS((int special));
-void mch_delay __ARGS((long msec, int ignoreinput));
-int mch_stackcheck __ARGS((char *p));
-void mch_startjmp __ARGS((void));
-void mch_endjmp __ARGS((void));
-void mch_didjmp __ARGS((void));
-void mch_suspend __ARGS((void));
-void mch_init __ARGS((void));
-void reset_signals __ARGS((void));
-int vim_handle_signal __ARGS((int sig));
-int mch_check_win __ARGS((int argc, char **argv));
-int mch_input_isatty __ARGS((void));
-int mch_can_restore_title __ARGS((void));
-int mch_can_restore_icon __ARGS((void));
-void mch_settitle __ARGS((char_u *title, char_u *icon));
-void mch_restore_title __ARGS((int which));
-int vim_is_xterm __ARGS((char_u *name));
-int use_xterm_mouse __ARGS((void));
-int vim_is_iris __ARGS((char_u *name));
-int vim_is_vt300 __ARGS((char_u *name));
-int vim_is_fastterm __ARGS((char_u *name));
-int mch_get_user_name __ARGS((char_u *s, int len));
-int mch_get_uname __ARGS((uid_t uid, char_u *s, int len));
-void mch_get_host_name __ARGS((char_u *s, int len));
-long mch_get_pid __ARGS((void));
-int mch_dirname __ARGS((char_u *buf, int len));
-void slash_adjust __ARGS((char_u *p));
-int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
-int mch_isFullName __ARGS((char_u *fname));
-long mch_getperm __ARGS((char_u *name));
-int mch_setperm __ARGS((char_u *name, long perm));
-vim_acl_T mch_get_acl __ARGS((char_u *fname));
-void mch_set_acl __ARGS((char_u *fname, vim_acl_T aclent));
-void mch_free_acl __ARGS((vim_acl_T aclent));
-void mch_hide __ARGS((char_u *name));
-int mch_isdir __ARGS((char_u *name));
-int mch_can_exe __ARGS((char_u *name));
-int mch_nodetype __ARGS((char_u *name));
-void mch_early_init __ARGS((void));
-void mch_free_mem __ARGS((void));
-void mch_exit __ARGS((int r));
-void mch_settmode __ARGS((int tmode));
-void get_stty __ARGS((void));
-void mch_setmouse __ARGS((int on));
-void check_mouse_termcode __ARGS((void));
-int mch_screenmode __ARGS((char_u *arg));
-int mch_get_shellsize __ARGS((void));
-void mch_set_shellsize __ARGS((void));
-void mch_new_shellsize __ARGS((void));
-int mch_call_shell __ARGS((char_u *cmd, int options));
-void mch_breakcheck __ARGS((void));
-int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
-int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-int mch_has_exp_wildcard __ARGS((char_u *p));
-int mch_has_wildcard __ARGS((char_u *p));
-int mch_libcall __ARGS((char_u *libname, char_u *funcname, char_u *argstring, int argint, char_u **string_result, int *number_result));
-void setup_term_clip __ARGS((void));
-void start_xterm_trace __ARGS((int button));
-void stop_xterm_trace __ARGS((void));
-void clear_xterm_clip __ARGS((void));
-int clip_xterm_own_selection __ARGS((VimClipboard *cbd));
-void clip_xterm_lose_selection __ARGS((VimClipboard *cbd));
-void clip_xterm_request_selection __ARGS((VimClipboard *cbd));
-void clip_xterm_set_selection __ARGS((VimClipboard *cbd));
-int xsmp_handle_requests __ARGS((void));
-void xsmp_init __ARGS((void));
-void xsmp_close __ARGS((void));
+extern void mch_write __ARGS((char_u *s, int len));
+extern int mch_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
+extern int mch_char_avail __ARGS((void));
+extern long_u mch_total_mem __ARGS((int special));
+extern void mch_delay __ARGS((long msec, int ignoreinput));
+extern int mch_stackcheck __ARGS((char *p));
+extern void mch_startjmp __ARGS((void));
+extern void mch_endjmp __ARGS((void));
+extern void mch_didjmp __ARGS((void));
+extern void mch_suspend __ARGS((void));
+extern void mch_init __ARGS((void));
+extern void reset_signals __ARGS((void));
+extern int vim_handle_signal __ARGS((int sig));
+extern int mch_check_win __ARGS((int argc, char **argv));
+extern int mch_input_isatty __ARGS((void));
+extern int mch_can_restore_title __ARGS((void));
+extern int mch_can_restore_icon __ARGS((void));
+extern void mch_settitle __ARGS((char_u *title, char_u *icon));
+extern void mch_restore_title __ARGS((int which));
+extern int vim_is_xterm __ARGS((char_u *name));
+extern int use_xterm_mouse __ARGS((void));
+extern int vim_is_iris __ARGS((char_u *name));
+extern int vim_is_vt300 __ARGS((char_u *name));
+extern int vim_is_fastterm __ARGS((char_u *name));
+extern int mch_get_user_name __ARGS((char_u *s, int len));
+extern int mch_get_uname __ARGS((uid_t uid, char_u *s, int len));
+extern void mch_get_host_name __ARGS((char_u *s, int len));
+extern long mch_get_pid __ARGS((void));
+extern int mch_dirname __ARGS((char_u *buf, int len));
+extern void slash_adjust __ARGS((char_u *p));
+extern int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
+extern int mch_isFullName __ARGS((char_u *fname));
+extern void fname_case __ARGS((char_u *name, int len));
+extern long mch_getperm __ARGS((char_u *name));
+extern int mch_setperm __ARGS((char_u *name, long perm));
+extern vim_acl_T mch_get_acl __ARGS((char_u *fname));
+extern void mch_set_acl __ARGS((char_u *fname, vim_acl_T aclent));
+extern void mch_free_acl __ARGS((vim_acl_T aclent));
+extern void mch_hide __ARGS((char_u *name));
+extern int mch_isdir __ARGS((char_u *name));
+extern int mch_can_exe __ARGS((char_u *name));
+extern int mch_nodetype __ARGS((char_u *name));
+extern void mch_early_init __ARGS((void));
+extern void mch_free_mem __ARGS((void));
+extern void mch_exit __ARGS((int r));
+extern void mch_settmode __ARGS((int tmode));
+extern void get_stty __ARGS((void));
+extern void mch_setmouse __ARGS((int on));
+extern void check_mouse_termcode __ARGS((void));
+extern int mch_screenmode __ARGS((char_u *arg));
+extern int mch_get_shellsize __ARGS((void));
+extern void mch_set_shellsize __ARGS((void));
+extern void mch_new_shellsize __ARGS((void));
+extern int mch_call_shell __ARGS((char_u *cmd, int options));
+extern void mch_breakcheck __ARGS((void));
+extern int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
+extern int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+extern int mch_has_exp_wildcard __ARGS((char_u *p));
+extern int mch_has_wildcard __ARGS((char_u *p));
+extern int mch_libcall __ARGS((char_u *libname, char_u *funcname, char_u *argstring, int argint, char_u **string_result, int *number_result));
+extern void setup_term_clip __ARGS((void));
+extern void start_xterm_trace __ARGS((int button));
+extern void stop_xterm_trace __ARGS((void));
+extern void clear_xterm_clip __ARGS((void));
+extern int clip_xterm_own_selection __ARGS((VimClipboard *cbd));
+extern void clip_xterm_lose_selection __ARGS((VimClipboard *cbd));
+extern void clip_xterm_request_selection __ARGS((VimClipboard *cbd));
+extern void clip_xterm_set_selection __ARGS((VimClipboard *cbd));
+extern int xsmp_handle_requests __ARGS((void));
+extern void xsmp_init __ARGS((void));
+extern void xsmp_close __ARGS((void));
/* vim: set ft=c : */