0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00

updated for version 7.1a

This commit is contained in:
Bram Moolenaar 2007-05-05 17:59:48 +00:00
parent 313b7237ad
commit 756ec0f3c9
11 changed files with 2434 additions and 539 deletions

View File

@ -1,4 +1,4 @@
README_unix.txt for version 7.0 of Vim: Vi IMproved.
README_unix.txt for version 7.1a of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.

View File

@ -1,4 +1,4 @@
*usr_31.txt* For Vim version 7.0. Last change: 2006 Apr 24
*usr_31.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*windows.txt* For Vim version 7.0. Last change: 2006 Apr 24
*windows.txt* For Vim version 7.1a. Last change: 2007 Mar 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -200,6 +200,7 @@ window will appear.
:vert[ical] {cmd}
Execute {cmd}. If it contains a command that splits a window,
it will be split vertically.
Doesn't work for |:execute| and |:normal|.
:lefta[bove] {cmd} *:lefta* *:leftabove*
:abo[veleft] {cmd} *:abo* *:aboveleft*
@ -207,6 +208,7 @@ window will appear.
it will be opened left (vertical split) or above (horizontal
split) the current window. Overrules 'splitbelow' and
'splitright'.
Doesn't work for |:execute| and |:normal|.
:rightb[elow] {cmd} *:rightb* *:rightbelow*
:bel[owright] {cmd} *:bel* *:belowright*
@ -214,6 +216,7 @@ window will appear.
it will be opened right (vertical split) or below (horizontal
split) the current window. Overrules 'splitbelow' and
'splitright'.
Doesn't work for |:execute| and |:normal|.
*:topleft* *E442*
:to[pleft] {cmd}
@ -221,6 +224,7 @@ window will appear.
it will appear at the top and occupy the full width of the Vim
window. When the split is vertical the window appears at the
far left and occupies the full height of the Vim window.
Doesn't work for |:execute| and |:normal|.
*:botright*
:bo[tright] {cmd}
@ -228,6 +232,7 @@ window will appear.
it will appear at the bottom and occupy the full width of the
Vim window. When the split is vertical the window appears at
the far right and occupies the full height of the Vim window.
Doesn't work for |:execute| and |:normal|.
These command modifiers can be combined to make a vertically split window
occupy the full height. Example: >
@ -447,6 +452,8 @@ CTRL-W T Move the current window to a new tab page. This fails if
*CTRL-W_=*
CTRL-W = Make all windows (almost) equally high and wide, but use
'winheight' and 'winwidth' for the current window.
Windows with 'winfixheight' set keep their height and windows
with 'winfixwidth' set keep their width.
:res[ize] -N *:res* *:resize* *CTRL-W_-*
CTRL-W - Decrease current window height by N (default 1).
@ -1118,7 +1125,7 @@ list of buffers. |unlisted-buffer|
of windows opened ('winwidth' if |:vertical| was prepended).
Buf/Win Enter/Leave autocommands are not executed for the new
windows here, that's only done when they are really entered.
When the |:tab| modifier is used new windows are opended in a
When the |:tab| modifier is used new windows are opened in a
new tab, up to 'tabpagemax'.
Note: All the commands above that start editing another buffer, keep the

View File

@ -20,6 +20,12 @@ let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
if has("gui_running") && !has("gui_win32")
setlocal keywordprg=ri\ -T
else
setlocal keywordprg=ri
endif
" Matchit support
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 0
@ -29,7 +35,7 @@ if exists("loaded_matchit") && !exists("b:match_words")
\ '\%(' .
\ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
\ '\|' .
\ '\%(\%(^\|\.\.\.\=\|[\,;=([<>~\*/%!&^|+-]\)\s*\)\@<=\%(if\|unless\|until\|while\)\>' .
\ '\%(\%(^\|\.\.\.\=\|[{\:\,;([<>~\*/%&^|+-]\|\%(\<[_[\:lower\:]][_[\:alnum\:]]*\)\@<![!=?]\)\s*\)\@<=\%(if\|unless\|while\|until\)\>' .
\ '\)' .
\ ':' .
\ '\%(' .
@ -54,10 +60,16 @@ setlocal include=^\\s*\\<\\(load\\\|\w*require\\)\\>
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.rb','')
setlocal suffixesadd=.rb
if version >= 700
if exists("&ofu") && has("ruby")
setlocal omnifunc=rubycomplete#Complete
endif
" To activate, :set ballooneval
if has('balloon_eval') && exists('+balloonexpr')
setlocal balloonexpr=RubyBalloonexpr()
endif
" TODO:
"setlocal define=^\\s*def
@ -65,7 +77,10 @@ setlocal comments=:#
setlocal commentstring=#\ %s
if !exists("s:rubypath")
if executable("ruby")
if has("ruby") && has("win32")
ruby VIM::command( 'let s:rubypath = "%s"' % ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,}) )
let s:rubypath = '.,' . substitute(s:rubypath, '\%(^\|,\)\.\%(,\|$\)', ',,', '')
elseif executable("ruby")
let s:code = "print ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,})"
if &shellxquote == "'"
let s:rubypath = system('ruby -e "' . s:code . '"')
@ -87,12 +102,69 @@ if has("gui_win32") && !exists("b:browsefilter")
\ "All Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< "
let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< kp<"
\ "| unlet! b:browsefilter b:match_ignorecase b:match_words b:match_skip"
\ "| if exists('&ofu') && has('ruby') | setl ofu< | endif"
\ "| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
let &cpo = s:cpo_save
unlet s:cpo_save
if exists("g:did_ruby_ftplugin_functions")
finish
endif
let g:did_ruby_ftplugin_functions = 1
function! RubyBalloonexpr()
if !exists('s:ri_found')
let s:ri_found = executable('ri')
endif
if s:ri_found
let line = getline(v:beval_lnum)
let b = matchstr(strpart(line,0,v:beval_col),'\%(\w\|[:.]\)*$')
let a = substitute(matchstr(strpart(line,v:beval_col),'^\w*\%([?!]\|\s*=\)\?'),'\s\+','','g')
let str = b.a
let before = strpart(line,0,v:beval_col-strlen(b))
let after = strpart(line,v:beval_col+strlen(a))
if str =~ '^\.'
let str = substitute(str,'^\.','#','g')
if before =~ '\]\s*$'
let str = 'Array'.str
elseif before =~ '}\s*$'
" False positives from blocks here
let str = 'Hash'.str
elseif before =~ "[\"'`]\\s*$" || before =~ '\$\d\+\s*$'
let str = 'String'.str
elseif before =~ '\$\d\+\.\d\+\s*$'
let str = 'Float'.str
elseif before =~ '\$\d\+\s*$'
let str = 'Integer'.str
elseif before =~ '/\s*$'
let str = 'Regexp'.str
else
let str = substitute(str,'^#','.','')
endif
endif
let str = substitute(str,'.*\.\s*to_f\s*\.\s*','Float#','')
let str = substitute(str,'.*\.\s*to_i\%(nt\)\=\s*\.\s*','Integer#','')
let str = substitute(str,'.*\.\s*to_s\%(tr\)\=\s*\.\s*','String#','')
let str = substitute(str,'.*\.\s*to_sym\s*\.\s*','Symbol#','')
let str = substitute(str,'.*\.\s*to_a\%(ry\)\=\s*\.\s*','Array#','')
let str = substitute(str,'.*\.\s*to_proc\s*\.\s*','Proc#','')
if str !~ '^\w'
return ''
endif
silent! let res = substitute(system("ri -f simple -T \"".str.'"'),'\n$','','')
if res =~ '^Nothing known about' || res =~ '^Bad argument:'
return ''
endif
return res
else
return ""
endif
endfunction
"
" Instructions for enabling "matchit" support:
"

View File

@ -4,9 +4,9 @@
" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" License: This file can be redistribued and/or modified under the same terms
" as Vim itself.
" Last Change: 2006-04-12
" Last Change: 2006-12-13
" URL: http://trific.ath.cx/Ftp/vim/syntax/apache.vim
" Notes: Last synced with apache-2.2.0, version 1.x is no longer supported
" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported
" TODO: see particular FIXME's scattered through the file
" make it really linewise?
" + add `display' where appropriate
@ -94,7 +94,7 @@ syn keyword apacheDeclaration AddAlt AddAltByEncoding AddAltByType AddDescriptio
syn keyword apacheDeclaration IndexStyleSheet
syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified
syn keyword apacheOption Ascending Descending Name Date Size Description
syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort XHTML
syn keyword apacheOption HTMLTable SuppressIcon SuppressRules VersionSort XHTML
syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules
syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer
syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate
@ -161,7 +161,7 @@ syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock
syn keyword apacheOption inherit
syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase
syn keyword apacheDeclaration LoadFile LoadModule
syn keyword apacheDeclaration CheckSpelling
syn keyword apacheDeclaration CheckSpelling CheckCaseOnly
syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCryptoDevice SSLEngine SSLHonorCipherOrder SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLUserName SSLVerifyClient SSLVerifyDepth
syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>"
syn keyword apacheOption builtin sem

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Django template
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
" Last Change: 2006 Mar 23
" Last Change: 2007 Jan 26
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@ -13,9 +13,12 @@ endif
syntax case match
" Mark illegal characters
syn match djangoError "%}\|}}\|#}"
" Django template built-in tags and parameters
" 'comment' doesn't appear here because it gets special treatment
syn keyword djangoStatement contained as block endblock by cycle debug else
syn keyword djangoStatement contained and as block endblock by cycle debug else
syn keyword djangoStatement contained extends filter endfilter firstof for
syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
syn keyword djangoStatement contained ifequal endifequal ifnotequal
@ -23,7 +26,11 @@ syn keyword djangoStatement contained endifnotequal in include load not now or
syn keyword djangoStatement contained parsed regroup reversed spaceless
syn keyword djangoStatement contained endspaceless ssi templatetag openblock
syn keyword djangoStatement contained closeblock openvariable closevariable
syn keyword djangoStatement contained widthratio with
syn keyword djangoStatement contained openbrace closebrace opencomment
syn keyword djangoStatement contained closecomment widthratio with
syn keyword djangoStatement contained get_current_language trans noop blocktrans
syn keyword djangoStatement contained endblocktrans get_available_languages
syn keyword djangoStatement contained get_current_language_bidi plural
" Django templete built-in filters
syn keyword djangoFilter contained add addslashes capfirst center cut date
@ -34,19 +41,28 @@ syn keyword djangoFilter contained floatformat get_digit join length length_is
syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust
syn keyword djangoFilter contained lower make_list phone2numeric pluralize
syn keyword djangoFilter contained pprint random removetags rjust slice slugify
syn keyword djangoFilter contained stringformat striptags time timesince title
syn keyword djangoFilter contained stringformat striptags
syn keyword djangoFilter contained time timesince timeuntil title
syn keyword djangoFilter contained truncatewords unordered_list upper urlencode
syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
" Keywords to highlight within comments
syn keyword djangoTodo contained TODO FIXME XXX
" Django template constants (always surrounded by double quotes)
syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/
" Django template tag and variable blocks
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument display
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument display
" Mark illegal characters within tag and variables blocks
syn match djangoTagError contained "#}\|{{\|[^%]}}\|[<>!=&#]"
syn match djangoVarError contained "#}\|{%\|%}\|[<>!=&#%]"
" Django template 'comment' tag
syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}"
" Django template tag and variable blocks
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display
syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display
" Django template 'comment' tag and comment block
syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
syn region djangoComBlock start="{#" end="#}" contains=djangoTodo
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@ -64,7 +80,12 @@ if version >= 508 || !exists("did_django_syn_inits")
HiLink djangoStatement Statement
HiLink djangoFilter Identifier
HiLink djangoArgument Constant
HiLink djangoTagError Error
HiLink djangoVarError Error
HiLink djangoError Error
HiLink djangoComment Comment
HiLink djangoComBlock Comment
HiLink djangoTodo Todo
delcommand HiLink
endif

View File

@ -29,7 +29,7 @@
^
k Hint: The h key is at the left and moves left.
< h l > The l key is at the right and moves right.
j The j key looks like a down arrow
j The j key looks like a down arrow.
v
1. Move the cursor around the screen until you are comfortable.
@ -38,10 +38,10 @@
3. Using the down key, move to Lesson 1.2.
Note: If you are ever unsure about something you typed, press <ESC> to place
NOTE: If you are ever unsure about something you typed, press <ESC> to place
you in Normal mode. Then retype the command you wanted.
Note: The cursor keys should also work. But using hjkl you will be able to
NOTE: The cursor keys should also work. But using hjkl you will be able to
move around much faster, once you get used to it. Really!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -109,7 +109,7 @@ NOTE: As you go through this tutor, do not try to memorize, learn by usage.
---> There is text misng this .
---> There is some text missing from this line.
5. When you are comfortable inserting text move to the summary below.
5. When you are comfortable inserting text move to lesson 1.5.
@ -160,7 +160,7 @@ NOTE: As you go through this tutor, do not try to memorize, learn by usage.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 1 SUMMARY
Lesson 1 SUMMARY
1. The cursor is moved using either the arrow keys or the hjkl keys.
@ -286,15 +286,15 @@ NOTE: Pressing just the motion while in Normal mode without an operator will
1. Move the cursor to the first UPPER CASE word in the line marked --->.
2. Type 2dw to delete the two UPPER CASE words
2. Type d2w to delete the two UPPER CASE words
3. Repeat steps 1 and 2 with a different count to delete the consecutive
UPPER CASE words with one command
---> this ABC DE line FGHI JK LMN OP of words is Q RS TUV cleaned up.
NOTE: A count between the operator d and the motion works similar to
using the motion without an operator.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -344,10 +344,10 @@ NOTE: A count between the operator d and the motion works similar to
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 2 SUMMARY
Lesson 2 SUMMARY
1. To delete from the cursor upto the next word type: dw
1. To delete from the cursor up to the next word type: dw
2. To delete from the cursor to the end of a line type: d$
3. To delete a whole line type: dd
@ -357,7 +357,7 @@ NOTE: A count between the operator d and the motion works similar to
where:
operator - is what to do, such as d for delete
[number] - is an optional count to repeat the motion
motion - moves over the text to operator on, such as w (word),
motion - moves over the text to operate on, such as w (word),
$ (to the end of line), etc.
6. To move to the start of the line use a zero: 0
@ -406,7 +406,7 @@ NOTE: A count between the operator d and the motion works similar to
---> Whan this lime was tuoed in, someone presswd some wrojg keys!
---> When this line was typed in, someone pressed some wrong keys!
5. Now move on to Lesson 3.2.
5. Now move on to Lesson 3.3.
NOTE: Remember that you should be learning by doing, not memorization.
@ -428,8 +428,8 @@ NOTE: Remember that you should be learning by doing, not memorization.
5. Repeat steps 3 and 4 until the first sentence is the same as the second.
---> This lubw has a few wptfd that mrrf changing usf the change command.
---> This line has a few words that need changing using the change command.
---> This lubw has a few wptfd that mrrf changing usf the change operator.
---> This line has a few words that need changing using the change operator.
Notice that ce deletes the word and places you in Insert mode.
@ -439,7 +439,7 @@ Notice that ce deletes the word and places you in Insert mode.
Lesson 3.4: MORE CHANGES USING c
** The change command is used with the same motions as delete. **
** The change operator is used with the same motions as delete. **
1. The change operator works in the same way as delete. The format is:
@ -459,7 +459,7 @@ Notice that ce deletes the word and places you in Insert mode.
NOTE: You can use the Backspace key to correct mistakes while typing.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 3 SUMMARY
Lesson 3 SUMMARY
1. To put back text that has just been deleted, type p . This puts the
@ -487,14 +487,14 @@ Now go on to the next lesson.
** Type CTRL-G to show your location in the file and the file status.
Type G to move to a line in the file. **
Note: Read this entire lesson before executing any of the steps!!
NOTE: Read this entire lesson before executing any of the steps!!
1. Hold down the Ctrl key and press g . We call this CTRL-G.
A message will appear at the bottom of the page with the filename and the
position in the file. Remember the line number for Step 3.
NOTE: You may see the cursor position in the lower right corner of the screen
This happens when the 'ruler' option is set (explained in lesson 6).
This happens when the 'ruler' option is set (see :help 'ruler' )
2. Press G to move you to the bottom of the file.
Type gg to move you to the start of the file.
@ -523,8 +523,8 @@ NOTE: You may see the cursor position in the lower right corner of the screen
5. To go back to where you came from press CTRL-O (Keep Ctrl down while
pressing the letter o). Repeat to go back further. CTRL-I goes forward.
Note: "errroor" is not the way to spell error; errroor is an error.
Note: When the search reaches the end of the file it will continue at the
---> "errroor" is not the way to spell error; errroor is an error.
NOTE: When the search reaches the end of the file it will continue at the
start, unless the 'wrapscan' option has been reset.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -546,7 +546,7 @@ Note: When the search reaches the end of the file it will continue at the
---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
Note: This is very useful in debugging a program with unmatched parentheses!
NOTE: This is very useful in debugging a program with unmatched parentheses!
@ -568,13 +568,13 @@ Note: This is very useful in debugging a program with unmatched parentheses!
4. To change every occurrence of a character string between two lines,
type :#,#s/old/new/g where #,# are the line numbers of the range
of lines where the subsitution is to be done.
of lines where the substitution is to be done.
Type :%s/old/new/g to change every occurrence in the whole file.
Type :%s/old/new/gc to find every occurrence in the whole file,
with a prompt wether to substitute or not.
with a prompt whether to substitute or not.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 4 SUMMARY
Lesson 4 SUMMARY
1. CTRL-G displays your location in the file and the file status.
@ -612,11 +612,11 @@ Note: This is very useful in debugging a program with unmatched parentheses!
will show you a listing of your directory, just as if you were at the
shell prompt. Or use :!dir if ls doesn't work.
Note: It is possible to execute any external command this way, also with
NOTE: It is possible to execute any external command this way, also with
arguments.
Note: All : commands must be finished by hitting <ENTER>
From here one we will not always mention it.
NOTE: All : commands must be finished by hitting <ENTER>
From here on we will not always mention it.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -635,7 +635,7 @@ Note: All : commands must be finished by hitting <ENTER>
4. This saves the whole file (the Vim Tutor) under the name TEST.
To verify this, type :!dir or :!ls again to see your directory.
Note: If you were to exit Vim and start it again with vim TEST , the file
NOTE: If you were to exit Vim and start it again with vim TEST , the file
would be an exact copy of the tutor when you saved it.
5. Now remove the file by typing (MS-DOS): :!del TEST
@ -689,7 +689,7 @@ NOTE: You can also read the output of an external command. For example,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 5 SUMMARY
Lesson 5 SUMMARY
1. :!command executes an external command.
@ -708,7 +708,7 @@ NOTE: You can also read the output of an external command. For example,
cursor position.
5. :r !dir reads the output of the dir command and puts it below the
cursor position
cursor position.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -754,7 +754,7 @@ NOTE: You can also read the output of an external command. For example,
---> This li will allow you to pract appendi text to a line.
---> This line will allow you to practice appending text to a line.
Note: a, i and A all go to the same Insert mode, the only difference is where
NOTE: a, i and A all go to the same Insert mode, the only difference is where
the characters are inserted.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -772,7 +772,7 @@ Note: a, i and A all go to the same Insert mode, the only difference is where
3. Press <ESC> to leave Replace mode. Notice that the rest of the line
remains unmodified.
5. Repeat the steps to replace the remaining xxx.
4. Repeat the steps to replace the remaining xxx.
---> Adding 123 to xxx gives you xxx.
---> Adding 123 to 456 gives you 579.
@ -784,7 +784,7 @@ NOTE: Replace mode is like Insert mode, but every typed character deletes an
Lesson 6.4: COPY AND PASTE TEXT
** use the y operator to copy text and p to paste it **
** Use the y operator to copy text and p to paste it **
1. Go to the line marked with ---> below and place the cursor after "a)".
@ -802,7 +802,7 @@ NOTE: Replace mode is like Insert mode, but every typed character deletes an
---> a) this is the first item.
b)
Note: you can also use y as an operator; yw yanks one word.
NOTE: you can also use y as an operator; yw yanks one word.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lesson 6.5: SET OPTION
@ -823,11 +823,11 @@ NOTE: Replace mode is like Insert mode, but every typed character deletes an
6. To disable ignoring case enter: :set noic
Note: To remove the highlighting of matches enter: :nohlsearch
Note: If you want to ignore case for just one search command, use \c
NOTE: To remove the highlighting of matches enter: :nohlsearch
NOTE: If you want to ignore case for just one search command, use \c
in the phrase: /ignore\c <ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 6 SUMMARY
Lesson 6 SUMMARY
1. Type o to open a line BELOW the cursor and start Insert mode.
Type O to open a line ABOVE the cursor.
@ -850,7 +850,7 @@ Note: If you want to ignore case for just one search command, use \c
7. Prepend "no" to switch an option off: :set noic
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 7.1: GETTING HELP
Lesson 7.1: GETTING HELP
** Use the on-line help system **
@ -862,7 +862,7 @@ Note: If you want to ignore case for just one search command, use \c
- type :help <ENTER>
Read the text in the help window to find out how the help works.
type CTRL-W CTRL-W to jump from one window to another
Type CTRL-W CTRL-W to jump from one window to another.
Type :q <ENTER> to close the help window.
You can find help on just about any subject, by giving an argument to the
@ -873,7 +873,7 @@ Note: If you want to ignore case for just one search command, use \c
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 7.2: CREATE A STARTUP SCRIPT
Lesson 7.2: CREATE A STARTUP SCRIPT
** Enable Vim features **
@ -896,7 +896,7 @@ Note: If you want to ignore case for just one search command, use \c
For more information type :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 7.3: COMPLETION
Lesson 7.3: COMPLETION
** Command line completion with CTRL-D and <TAB> **
@ -919,7 +919,7 @@ NOTE: Completion works for many commands. Just try pressing CTRL-D and
<TAB>. It is especially useful for :help .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LESSON 7 SUMMARY
Lesson 7 SUMMARY
1. Type :help or press <F1> or <Help> to open a help window.

813
runtime/tutor/tutor.tr.iso9 Normal file
View File

@ -0,0 +1,813 @@
===============================================================================
= V I M T u t o r'a Hoş Geldiniz - Sürüm 1.5 =
===============================================================================
Vim, bu gibi bir eğitmen ile açıklanması gereken çok fazla komut barındıran,
oldukça kuvvetli bir metin düzenleyicidir. Bu eğitmen Vim'i çok amaçlı bir
düzenleyici olarak kolaylıkla kullanabileceğiniz yeterli sayıda komutu açıklamak
için tasarlanmıştır.
Eğitmeni tamamlama süresi yapacağınız denemelere bağlı olarak 25-30
dakikadır.
Derslerdeki komutlar bu metini değiştirecektir. Üzerinde çalışmak için
bu dosyanın bir kopyasını alın (eğer "vimtutor" uygulamasını çalıştırdıysanız
zaten bir kopyasını almış oldunuz).
Bu eğitmenin, kullanarak öğretmeye ayarlandığını unutmamak önemlidir. Bu şu
anlama gelir; komutları öğrenmek için doğru bir şekilde çalıştırmanız gerekir.
Eğer sadece yazılanları okursanız komutları unutursunuz.
Şimdi Shift-Lock tuşlarınızın basılı olmadığına emin olun ve Ders 1.1'in
ekranı tamamen doldurması için j tuşuna yeterli miktarda basın.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 1.1: İMLECİ HAREKET ETTİRMEK
Ç.N: Tüm derslerde <ENTER> gördüğünüz yerde bu tuşa basmanız gerekir.
** İmleci hareket ettirmek için, h,j,k,l tuşlarına gösterildiği gibi basın. **
^
k İpucu: h tuşu soldadır ve sola hareket eder.
< h l > l tuşu sağdadır ve sağa hareket eder.
j j tuşu aşağı yönlü bir ok gibidir.
v
1. Yeterli hissedinceye kadar imleci ekranda hareket ettirin.
2. Aşağı tuşunu (j) tekrar edene kadar basılı tutun.
---> Şimdi, bir sonraki derse nasıl geçeceğinizi biliyorsunuz.
3. Aşağı tuşunu kullanarak, Ders 1.2'ye geçin.
Not: Eğer yazdığınız bir şeyden emin değilseniz, Normal kipe geçmek için <ESC> tuşuna basın.
Daha sonra istediğiniz komutu yeniden yazın.
Not: İmleç tuşları da aynı zamanda işe yararlar ancak hjkl tuşlarını kullanmaya alıştığınızda etrafta daha hızlı
hareket edersiniz.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 1.2: VIM'E GİRİŞ VE VIM'DEN ÇIKIŞ
!! NOT: Aşağıdaki adımları yapmadan önce, bu dersi tamamen okuyun.
1. <ESC> tuşuna basın (Normal kipte olmayı garantilemek için).
2. Yazın: :q! <ENTER>.
---> Bu düzenleyicinin yaptığınız değişiklikleri KAYDETMEDEN kapanmasını sağlar.
Eğer yaptıklarınızın kaydedilmesini istiyorsanız şunu yazın:
:wq <ENTER>
3. Kabuk istemcisini (shell prompt) gördüğünüzde, sizi bu eğitmene getiren
komutu yazın. Bu: vimtutor <ENTER> komutudur.
Normalde: vim tutor <ENTER> komutu kullanılır.
---> 'vim' vim düzenleyicisine gir anlamına gelir, 'tutor' ise açmak istediğiniz dosyadır.
4. Eğer bu adımları ezberlediyseniz ve kendinizden eminseniz, 1'den 3'e kadar olan adımları,
düzenleyiciden çıkmak ve yeniden girmek için uygulayın.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 1.3: METİN DÜZENLEME - SİLME
** Normal kipteyken imlecin altındaki karakteri silmek için x 'e basın.**
1. İmleci aşağıda işaretlenmiş (-->) satıra götürün.
2. Hataları düzeltmek için, imleci silinmesi gereken karakterin üzerine getirin
3. İstenmeyen karakteri silmek için x tuşuna basın.
4. Cümle düzelene kadar 2'den 4'e kadar olan adımları tekrar edin.
---> İinek ayyın üzzerinden attladı.
5. Şimdi satır düzeldi, Ders 1.4'e geçin.
NOT: Bu eğitmende ilerledikçe ezberlemeye çalışmayın, kullanarak öğrenin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 1.4: METİN DÜZENLEME - EKLEME
** Normal kipteyken metin eklemek için i 'ye basın. **
1. İmleci aşağıdaki işaretlenmiş (-->) ilk satıra götürün.
2. İlk satırı ikincisinin aynısı gibi yapmak için, imleci eklenmesi gereken
metinden sonraki ilk karakterin üzerine götürün.
3. i 'ye basın ve gerekli eklemeleri yapın.
4. Her hata düzeltildiğinde <ESC> tuşuna basarak Normal kipe dönün.
Cümleyi düzeltmek için 2'den 4'e kadar olan adımları tekrar edin.
---> Bu metinde eksk.
---> Bu metinde birşey eksik.
5. Metin ekleme çalışmalarını yeterli görüyorsanız aşağıdaki özete geçin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DERS 1 ÖZET
1. İmleç hem ok tuşları hem de hjkl tuşları ile hareket ettirilir.
h (sol) j (aşağı) k (yukarı) l (sağ)
2. (Konsoldan) Vim'e girmek içn yazın: vim DOSYAİSMİ <ENTER>
3. Tüm değişiklikleri göz ardı edip vimden çıkmak için yazın:
<ESC> :q! <ENTER>
veya tüm değişiklikleri kaydetmek için yazın:
<ESC> :wq <ENTER>
4. İmlecin altındaki bir karakteri silmek için Normal kipte x yazın.
5. İmlecin altında metin eklemek için Normal kipte yazın:
i yazılacak metin <ESC>
NOT: <ESC> tuşuna basmak sizi Normal kipe götürür ya da istenmeyen tamamlanmamış bir komutu
iptal eder.
Şimdi Ders 2 ile devam edin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 2.1: SİLME KOMUTLARI
** Bir kelimeyi silmek için dw yazın.**
1. Normal kipte olmakten emin olmak için <ESC> tuşuna basın.
2. İmleci aşağıdaki işaretlenmiş (-->) satıra götürün.
3. İmleci silinmesi gereken kelimenin başına götürün.
4. Kelimeyi silmek için dw yazın.
NOT: dw harfleri siz yazdıkça ekranın son satırında görülecektir.
Eğer yanlış bir şeyler yazarsanız, yeniden başlamak için <ESC> tuşuna basın.
---> Bu satırda çerez cümleye ait olmayan leblebi kelimeler var.
5. Cümle düzelene kadar adım 3 ve 4'ü tekrar edin, daha sonra Ders 2.2'ye gidin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 2.2: DAHA FAZLA SİLME KOMUTU
** Satırı sonuna kadar silmek için d$ yazın.**
1. Normal kipte olmaktan emin olmak için <ESC> tuşuna basın.
2. İmleci aşağıdaki işaretlenmiş (-->) satıra götürün.
3. İmleci doğru olan satırın sonuna götürün. (Birinciden SONRA. )
4. Satırı sonuna kadar silmek için d$ yazın.
( d$ yazarken d'den sonra <ALT> ile beraber $ tuşuna basın)
---> Birileri bu satırın sonunu iki defa yazmış. Birileri bu satırın sonunu iki defa yazmış.
5. Neler olduğunu anlamak için Ders 2.3'e gidin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 2.3: KOMUTLAR VE NESNELER
d silme komutu için biçim aşağıdaki gibidir:
[sayı] d nesne VEYA d [sayı] nesne
Burada:
sayı - komutun kaç defa çalıştırlacağı (isteğe bağlı, varsayılan=1).
d - silme komutu
nesne - komutun ne şekilde çalışacağı (aşağıda listlendi).
Nesnelerin kısa bir listesi.
w - Boşluğu da içererek, imleçten itibaren kelimenin sonuna kadar.
e - Boşluğu İÇERMEDEN, imleçten itibaren kelimenin sonuna kadar.
$ - imleçten satırın sonuna kadar.
NOT: Serüven sevenler için, Normal kipte iken, komut olmadan sadece nesnenin kendisine basmak
imleci yukardaki listede olduğu gibi hareket ettirecektir.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 2.4: 'KOMUT-NESNE'ye BİR İSTİSNA
** Bütün bir satırı silmek için dd yazın. **
Bütün bir satır silme sıklığından dolayı, Vi tasarımcıları bir satırı
tamamen silmek için iki d yazmanın daha kolay olacağına karar verdiler.
1. İmleci aşağıdaki tümceciğin ikinci satırına götürün.
2. Satırı silmek için dd yazın.
3. Şimdi de dördüncü satıra gidin.
4. İki satırı birden silmek için 2dd (sayı-komut-nesne'yi hatırlayın) yazın.
1) Güller kırmızıdır,
2) Çamur eğlenceli,
3) Menekşeler mavi,
4) Bir arabam var,
5) Saat bana söyler,
6) Şeker tatlıdır
7) Ve sen de öylesin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 2.5: GERİ AL KOMUTU
** Son komutu geri almak için u , bütün bir satırı düzeltmek için U yazın.**
1. İmleci aşağıdaki işaretlenmiş (-->) satırdaki ilk hatanın üzerine götürün.
2. İlk istenmeyen karakteri silmek için x yazın.
3. Şimdi son çalıştırılan komutu geri almak için u yazın.
4. Bu sefer x komutunu kullanarak satırdaki tüm hataları düzeltin.
5. Şimdi satırı ilk haline çevirmek için büyük U yazın.
6. Şimdi U ve daha önceki komutları geri almak için birkaç defa u yazın.
7. Şimdi birkaç defa CTRL-R (CTRL'yi basılı tutarken R ye basın) yazarak geri almaları da geri alın.
---> Buu satıırdaki hataları düüzeltinn ve sonra koomutu geri alllın.
8. Bunlar son derece kullanışlı komutlardır. Şimdi Ders 2 Özete geçin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DERS 2 ÖZET
1. İmleçten itibaren bir kelimeyi silmek için yazın: dw
2. İmleçten itibaren bir satırı silmek için yazın: d$
3. Bütün bir satırı silmek için yazın: dd
4. Normal kipte bir komut biçimi şöyledir:
[sayı] komut nesne VEYA komut [sayı] nesne
burada:
sayı - komutun kaç kere tekrar edeceği
komut - ne yapılacağı, silmek için d olduğu gibi
nesne - komutun nasıl davranacağı, w (kelime), $ (satır sonu), vb gibi.
5. Önceki hareketleri geri almak için yazın: u (küçük u)
Bir satırdaki tüm değişiklikleri geri almak için yazın: U (büyük u)
Geri almaları geri almak için yazın: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 3.1: KOY KOMUTU
** Son yaptığınız silme işlemini imleçten sona geri yerleştirmek için p yazın.**
1. İmleci aşağıdaki tümceciğin ilk satırına götürün.
2. Satırı silip Vim'in tamponuna yerleştirmek için dd yazın.
3. İmleci, silinmiş satırı nereye yerleştirmek istiyorsanız, o satırın ÜZERİNE götürün.
4. Normal kipteyken, satırı yerleştirmek için p yazın.
5. Tüm satırları doğru sıraya koymak için 2'den 4'e kadar olan adımları tekrar edin.
d) Sen de öğrendin mi?
b) Menekşeler mavidir,
c) Akıl öğrenilir,
a) Güller kırmızıdır,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 3.2: YERLEŞTİR KOMUTU
** İmlecin altında bir karakter yerleştirmek için r yazın.**
1. İmleci aşağıdaki işaretlenmiş(--->) ilk satıra götürün.
2. İmleci satırdaki ilk hatanın üzerine götürün.
3. Hatayı düzeltmek için önce r ardından da doğru karakteri yazın.
4. İlk satır düzelene kadar adım 2 ve 3'ü tekrar edin.
---> Bu satıv yazılıvken, bivileri yamlış tuştara basmış.
---> Bu satır yazılırken, birileri yanlış tuşlara basmış.
5. Ders 3.2'ye geçin.
NOT: Unutmayın, ezberleyerek değil kullanarak öğrenin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 3.3: DEĞİŞTİR KOMUTU
** Bir kelimenin tamamını veya parçasını değiştirmek için cw yazın.
1. İmleci aşağıdaki işaretlenmiş(--->) satıra götürün.
2. İmleci "sutar" daki u'nun üzerine yerleştirin.
3. Önce cw ardından doğru kelimeyi girin (bu durumda 'atır'.)
4. <ESC> tuşuna basın ve bir sonraki hataya gidin (değişmesi gereken ilk karakter.)
5. İlk cümle ikincisiyle aynı olana kadar adım 3 ve 4'ü tekrar edin.
---> Bu sutar değiştir komutu ile değişneli gereken birkaç petime içeriyor.
---> Bu satır değiştir komutu ile değişmesi gereken birkaç kelime içeriyor.
cw'nin sadece kelimeyi değiştirmediğini, aynı zamanda sizi insert kipine götürdüğüne de dikkat edin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 3.4: c'Yİ KULLANARAK DAHA FAZLA DEĞİŞTİRME
** Değiştir komutu sil komutu ile aynı nesnelerle kullanılır.**
1. Değiştir komutu sil ile aynı yolla çalışır. Biçim şöyledir:
[sayı] c nesne VEYA c [sayı] nesne
2. Nesneler de aynı zamanda aynıdır. Örneğin w (word), $ (satır sonu), vb. gibi.
3. Aşağıdaki işaretlenmiş(--->) ilk satıra gidin.
4. İmleci ilk hataya götürün.
5. Satırın geri kalan kısmını ikincisi gibi yapmak için c$ yazın ve daha sonra <ESC> tuşuna basın.
---> Bu satırın sonu düzeltilmek için biraz yardıma ihtiyaç duyuyor.
---> Bu satırın sonu düzeltilmek için c$ komutu kullanılarak yardıma ihtiyaç duyuyor.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DERS 3 ÖZET
1. Silinmiş olan bir metini geri yerleştirmek için p yazın. Bu silinmiş metini
imleçten hemen SONRA geri yerleştirir (eğer bir satır silinmişse hemen imleçten sonra, alta
yerleştirilecektir)
2. İmlecin altındaki karakteri değiştirmek için önce r ardından da
asıl karakteri yazın.
3. Değiştir komutu belirlenen nesneyi, imleçten nesnenin sonuna kadar değiştirme imkanı verir.
Örneğin, bir kelimeyi imleçten sonuna kadar değiştirmek için cw , bir satırın tamamını
değiştirmek içinse c$ yazın.
4. Değiştir için biçim şöyledir:
[sayı] c nesne VEYA c [sayı] nesne
Şimdi bir sonraki derse geçin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 4.1: KONUM VE DOSYA DURUMU
** Dosya içerisindeki konumunuzu ve dosyanın durumunu görmek için CTRL-g yazın. **
** Dosya içerisindeki bir satıra gitmek için SHIFT-g yazın. **
Not: Adımlardan herhangi birini yapmadan önce dersin tamamını okuyun!!
1. Ctrl tuşunu basılı tutun ve g'ye basın. Dosyanın sonunda dosya ismini ve bulunduğunuz konumu
gösteren bir durum satırı görünecektir. Adım 3 için satır numarasını
unutmayın.
2. Dosyanın sonuna gitmek için shift-G 'ye basın.
3. Daha önce bulunduğunuz satır numarasını yazın ve daha sonra shift-G 'ye basın.
Bu sizi daha önce bulunduğunuz ve Ctrl-g 'ye bastığınız satıra geri götürecektir.
(Sayılar yazılırken ekranda GÖRÜNMEYECEKLERDİR.)
4. Yapabileceğinizi düşündüğünüzde, adım 1'den 3'e kadar yapın.
Ç.N: Bu kısım orijinal metinde de biraz eksik anlatılmış gibi. Bir satır hakkında bilgi almak için
Ctrl-g'yi kullanın. Herhangi bir satıra gitmek içinse, önce satır numarasını yazın ve ardınan
shift-g'ye basın. Satır numarası girmeden basılan shift-g sizi satır sonuna götürür.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 4.2: ARAMA KOMUTU
** Bir kelime öbeğini aramak için / ile beraber kelime öbeğini girin. **
1. Normal kipteyken / karakterini yazın. Komut bölümü yerine / karakterinin ve
imlecin ekranın sonunda göründüğüne dikkat edin.
2. Şimdi, 'hatttaa' yazıp <ENTER> 'a basın. Bu sizin aramak istediğiniz kelime.
3. Aynı kelime öbeğini tekrar aramak için, basitçe n yazın.
Aynı kelime öbeğini zıt yönde aramak için, Shift-N yazın.
4. Eğer zıt yöne doğru bir arama yapmak istiyorsanız, / komutu yerine
? komutunu kullanın.
---> "hatttaa" hatayı yazmanın doğru yolu değil; hatttaa bir hata.
Not: Arama dosyanın sonuna ulaştığında, tekrar baştan başlayacaktır.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 4.3: UYAN PARANTEZ ARAMASI
** Uyan bir ),] veya } bulmak için % yazın. **
1. İmleci işaretli (--->) satırdaki herhangi bir (, [ veya { karakterinin
üzerine götürün.
2. Şimdi % karakterini yazın.
3. İmleç uyan parantez veya ayracın üzerine gider.
4. Uyan ilk parantezin üzerine geri dönmek için yine % yazın.
---> Bu ( içerisinde ('ler, ['ler ] ve {'ler } bulunan bir satırdır. ))
Not: Bu içerisinde uymayan parantezler bulunan bir programın yanlışını ayıklamak için
son derece yararlıdır.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 4.4: HATALARI DÜZELTMEK İÇİN BİR YOL
** 'eski' yerine 'yeni' yerleştirmek için :s/eski/yeni/g yazın. **
1. İmleci aşağıdaki işaretli (--->) satıra götürün.
2. :s/buu/bu yazıp <ENTER> 'a basın. Bu komutun sadece satırdaki ilk karşılaşmayı
düzelttiğine dikkat edin.
3. Şimdi genel olarak satırdaki tüm değişikliği yapmak için :s/buu/bu/g yazın.
---> Buu birinci, buu ikinci, buu üçüncü bölüm.
4. İki satır arasındaki bir karakter katarının tümünü değiştirmek için,
:#,#s/eski/yeni/g yazın, burada #,# iki satırın sayılarıdır.
Tüm dosyadaki karşılaşılan kelimeleri değiştirmek için :%s/eski/yeni/g yazın.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DERS 4 ÖZET
1. Ctrl-g sizin dosyadaki konumunuzu ve dosya durumunu gösterir.
Shift-G dosyanın sonuna gider. Shift-G 'den önce bir sayı yazılırsa, o satıra
gidilir.
2. Bir sözcük öbeğinden önce / yazmak, İLERİ yönde o öbeği aratır.
Bir sözcük öbeğinden önce ? yazmak, GERİ yönde o öbeği aratır.
Bir aramadan sonra, aynı yöndeki bir sonraki karşılaşmayı bulmak için n ,
veya zıt yöndekini bulmak için Shift-N yazın.
3. İmleç bir (,),[,],{,} parantezi üzerindeyken % yazmak, uyan diğer eş parantezi bulur.
4. Bir satırdaki ilk 'eski'yi 'yeni' ile değiştirmek için :s/eski/yeni yazın.
Bir satırdaki tüm 'eski'leri 'yeni' ile değiştirmek için :s/eski/yeni/g yazın.
İki satır arasındaki öbekleri değiştirmek için :#,#s/eski/yeni/g yazın.
(#'lar satır numaraları)
Bir dosyadaki tüm karşılaşmaları değiştirmek için :%s/eski/yeni/g yazın.
Her seferinde onay sorması için 'c' ekleyin. :%s/eski/yeni/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 5.1: BIR DIŞ KOMUT ÇALIŞTIRMAK
** Bir dış komutu çalıştırmak için :! ve ardından istediğiniz dış komutu yazın. **
1. İmleci ekranın altına götürmek için alışık olduğunuz : komutunu yazın. Bu size
bir komut yazma imkanı verir.
2. Şimdi ! (ünlem) karakterini yazın. Bu size bir dış komut çalıştırma
imkanı verir.
3. Örnek olarak ! karakterini takiben ls yazın ve <ENTER>'a basın. Bu size
o anda bulunduğunuz dizindeki dosyaları gösterecektir. Veya ls çalışmazsa :!dir
komutunu kullanın.
Not: Herhangi bir dış komutu bu yolla çalıştırmak mümkündür.
Not: Tüm : komutlarından sonra <ENTER> tuşuna basılmalıdır.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 5.2: DOSYA YAZMAYA DEVAM
** Dosyaya yapılan değişikliği kaydetmek için, :w DOSYAİSMİ yazın. **
1. Bulunduğunuz dizini listelemek için :!dir veya :!ls yazın.
Komuttan sonra <ENTER> tuşuna basıcağınızı zaten biliyorsunuz.
2. Mevcut olmayan bir dosya ismi seçin, örneğin DENEME.
3. Şimdi :w DENEME yazın (DENEME sizin seçtiğiniz dosya ismi).
4. Bu tüm dosyayı (Vim Tutor) DENEME isminde başka bir dosyaya yazar.
Bunu doğrulamak için, :!dir yazın ve yeniden bulunduğunuz dizini listeleyin.
Not: Eğer Vim'den çıkıp kaydettiğiniz DENEME dosyasını açarsanız, bunun kaydettiğiniz
vimtutor'un gerçek bir kopyası olduğunu görürsünüz.
5. Şimdi dosyayı şu komutları vererek silin (MS-DOS) :!del DENEME
(veya UNIX) :!rm DENEME
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 5.3: SEÇMELİ YAZ KOMUTU
** Dosyanın bir bölümünü kaydetmek için, :#,# w DOSYAİSMİ yazın. **
1. Bir kez daha bulunduğunuz dizini görmek için :!dir veya :!ls yazın,
ardından DENEME gibi uygun bir dosya ismi seçin.
2. İmleci bu sayfanın başına götürün ve ardından CTRL-g'ye basarak satır numarasını
öğrenin. BU NUMARAYI UNUTMAYIN!
3. Şimdi sayfanın sonuna gidib ve yine CTRL-g'ye basarak satır numarasını
öğrenin. BU NUMARAYI DA UNUTMAYIN!
4. Bir dosyaya sadece bir bölümü kaydetmek için, :#,# w DENEME yazın. #,# sizin
baktığınız sayılar (üst,alt) ve DENEME dosyanızın ismidir.
5. Yine, :!dir yazarak dosyanın orada olduğuna bakın ama SİLMEYİN.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 5.4: DOSYALARI BİRLEŞTİRMEK-BÖLÜM EKLEMEK
** Bir dosyanın içeriğini eklemek için :r DOSYAİSMİ yazın. **
1. DENEME dosyanızın önceden bulunduğundan emin olmak için :!dir yazın.
2. İmleci bu sayfanın başına yerleştirin.
NOT: Adım 3'ü uyguladıktan sonra Ders 5.3'ü görüyor olacaksınız. Daha sonra bu
derse sayfasına dönün.
3. Şimdi DENEME sayfasını :r DENEME yazarak aktarın.
NOT: Aktardığınız dosya imlecinizin hemen altına eklenecektir.
4. Dosyanın eklendiğini görmek için, geriye gidin. Ders 5.3'ten iki kopya
olduğunu göreceksiniz; asıl ve kopya olanı.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DERS 5 ÖZET
1. :!komut bir dış komut çalıştırır.
Bazı yararlı örnekler:
(MS-DOS) (Unix)
:!dir :!ls - bir dizini listeler.
:!del DOSYA :!rm DOSYA - DOSYA'yı siler.
2. :w DOSYAİSMİ o anki Vim dosyasını diske DOSYAİSMİ ile kaydeder.
3. :#,#w DOSYAİSMİ # ile # satır arasını DOSYAİSMİ ile kaydeder.
4. :r DOSYAİSMİ imlecin altından başlayarak DOSYAİSMİ isimli dosyanın içeriğini ekler.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 6.1: AÇ KOMUTU
** İmlecin aşağısına bir satır açmak ve Insert kipine geçmek için o yazın. **
1. İmleci aşağıdaki işaretlenmiş (--->) satıra götürün.
2. İmlecin aşağısına bir satır açmak ve Insert kipine geçmek için
o (küçük harfle) yazın.
3. Şimdi işaretlenmiş satırı kopyalayın ve Insert kipinden çıkmak için <ESC>
tuşuna basın.
---> o yazdıktan sonra imlec açılan satıra gidicek ve Insert kipine geçilecek.
4. İmlecin üzerinde bir satır açmak için, basitçe büyük O yazın. Bunu aşağıdaki
satırda deneyin.
Bu satırın üzerine bir satır açmak için imleç bu satırdayken Shift-o yazın.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 6.2: EKLE KOMUTU
** İmleçten sonra metin eklemek için a yazın. **
1. İmleci aşağıdaki işaretlenmiş (--->) satırın sonuna götürmek için
Normal Kipteyken $ yazın.
2. İmlecin altındaki karakterden sonra metin eklemek için a (küçük harfle) yazın.
(Büyük A satırın sonuna ekler).
3. Şimdi ilk satırı tamamlayın. Ekle komutunun Insert kipiyle aynı işi yaptığına
dikkat edin. Tek fark metinin eklendiği yer.
Ç.N: Eğer a yazarsanız imlecin altındaki karakterden hemen sonra ekleme yapabilirsiniz.
Eğer Shift-a yazarsanız imleç satır sonuna gidecek ve hemen ardına ekleme yapabileceksiniz.
Doğal olarak bizim örneğimizde Shift-A'yı kullanmak daha güzel olacaktır. Önce $ ardınan a
yazmamıza gerek kalmaz.
---> Bu satırda çalışabilirsiniz
---> Bu satırda çalışabilirsiniz. Çalışırken metin eklemeyi kullanın.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 6.3: BİR BAŞKA DEĞİŞTİR KOMUTU
** Birden fazla karakter değiştirmek için büyük R yazın. **
1. İmleci aşağıdaki işaretli (--->) satırların ilkine götürün.
2. İmleci işaretli olan ikinci satırdakinden farklı olan ilk kelimenin
başına götürün. ( "tuşları" kelimesi )
3. Şimdi büyük R yazın ve ilk satırı ikincisinin aynısı yapmak için
eski metinin üzerinden yenisini yazın. Siz yazdıkça metin değişecektir.
---> Bu satırı ikincisinin aynısı yapmak için tuşları kullanın.
---> Bu satırı ikincisinin aynısı yapmak için R yazın ve metini girin.
4. Çıkmak için <ESC> tuşuna bastığınızda, değişmemiş metinin aynen
kaldığına dikkat edin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 6.4: SET SEÇENEĞİ
** Bir seçenek ayarlayın , böylece bir arama veya değiştirme **
** durumu görmezden gelsin. **
1. 'ignore' kelimesini aramak için:
/ignore
yazın.
Bunu n tuşuna basarak birkaç kez tekrar edin
2. :set ic yazarak 'ic' (Ignore case) ayarını seçin.
3. Tekrar n tuşuna basarak 'ignore' kelimseini arayın.
n tuşuna basarak bu aramayı birden çok defa tekrar edin.
4. :set hls is yazarak 'hlsearch' ve 'incsearch' ayarlarını seçin.
5. /ignore yazarak arama komutunu tekrar verin ve ne olacağını görün.
6. Karşılaşma vurgularını iptal etmek için,
:nohlsearch yazın.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DERS 6 ÖZET
1. o yazmak imlecin altında bir satır açar ve imleci bu açılmış satıra
Insert kipinde yerleştirir.
Büyük O yazmak imlecin üzerinde bir satır açar.
2. İmlecin üzerindeki karakterden hemen sonra metin eklemek için a yazın.
Büyük A yazmak hemen satır sonuna giderek metin eklemeye hazır hale getirir.
3. Büyük R yazmak Değiştir kipine girer ve çıkmak için <ESC> tuşuna
basılana kadar sizi bu kipte bırakır.
4. ":set xxx" yazmak "xxx" seçeneğini ayarlar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 7: ÇEVİRİMİÇİ (ON-LINE) YARDIM KOMUTLARI
** Çevirimiçi yardım sistemini kullanın **
Vim geniş bir çevirimiçi yardım sistemine sahiptir. Başlamak için şu üçünü
deneyebilirsiniz.
- (eğer sahipseniz) <HELP> tuşuna basın
- (eğer sahipseniz) <F1> tuşuna basın
- :help yazın ve <ENTER> tuşuna basın
Yardım penceresini kapatmak için :q yazıp <ENTER> tuşuna basın.
":help" komutuna değişken (argüman) vererek herhangi bir konu hakkında
yardım alabilirsini. Şunları deneyin (<ENTER> tuşuna basmayı unutmayın) :
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ders 8: BİR BAŞLANGIÇ BETİĞİ OLUŞTURUN
** Switch on Vim features **
** Vim'in özelliklerine bakın **
Vim Vi'dan çok daha fazla özelliğe sahiptir fakat birçoğu öntanımlı olarak kapalıdır.
Daha fazla özellik kullanabilmek için bir "vimrc" dosyası oluşturmalısınız.
1. "vimrc" dosyasını düzenlemeye başlayın, bu işletim sisteminize göre değişir:
Ç.N: (Bu komutu verdiğinizde eğer yoksa home dizininizde .vimrc isimli bir dosya oluşacaktır.
Bu dosyaya vimrc örnek dosyasını aktarmak için 2. adımdaki komutu kullanacaksınız. Bu yüzden
vimrc dosyanızı düzenlemeden önce aşağıdaki adımların hepsini okuyun ve komutları hatırlayın.)
:edit ~/.vimrc Unix için
:edit $VIM/_vimrc MS-Windows için
2. Şimdi örnek "vimrc" dosyasını okuyun
:read $VIMRUNTIME/vimrc_example.vim
3. Dosyayı kaydedin ve çıkın
:write
:q
Vim'i bir dahaki sefer çalıştırdığınızda sözdizim (sytax) vurgusu kullanılacaktır.
Tüm tercih ettiğiniz ayarları bu "vimrc" dosyasına ekleyebilirsiniz.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Burada Vim Eğitmeni tamamlanmış oldu. Eğitmendeki amaç Vim düzenleyicisi hakkında
kısa bir bilgi vermek ve onu kolayca kullanmanızı sağlamaktı. Vim'in tamamını öğretmek
çok zordur zira Vim birçok komuta sahiptir.Bundan sonra :help user-manual" komutu ile
kullanıcı kılavuzunu okumalısınız.
Daha fazla okuma ve çalışma için şu kitabı öneriyoruz:
Vim - Vi Improved - by Steve Oualline
Publisher: New Riders
Tamamiyle Vim için hazırlanmış ilk kitap. Özellikle ilk kullanıcılar için uygun.
Kitapta birçok örnek ve resim var.
http://iccf-holland.org/click5.html adresine bakabilirsiniz.
Bu kitap daha eskidir ve Vim'den daha çok Vi içindir ancak tavsiye edilir:
Learning the Vi Editor - by Linda Lamb
Publisher: O'Reilly & Associates Inc.
Vi hakkında bilmek isteyeceğiniz neredeyse herşeyin bulunduğu bir kitap.
6.Basım aynı zamanda Vim hakkında bilgi de içermekte.
Bu eğitmen Michael C. Pierce ve Robert K. Ware tarafından yazıldı,
Charles Smith tarafından sağlanan fikirlerle Colorado School Of Mines,
Colorado State University. E-mail: bware@mines.colorado.edu.
Vim için değiştiren : Bram Moolenaar.
Türkçeye çeviren : Serkan "heartsmagic" Çalış Yıl 2005
E-mail : adresimeyaz (at) yahoo com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

File diff suppressed because it is too large Load Diff

View File

@ -1,51 +1,51 @@
/* fileio.c */
extern void filemess __ARGS((buf_T *buf, char_u *name, char_u *s, int attr));
extern int readfile __ARGS((char_u *fname, char_u *sfname, linenr_T from, linenr_T lines_to_skip, linenr_T lines_to_read, exarg_T *eap, int flags));
extern int prep_exarg __ARGS((exarg_T *eap, buf_T *buf));
extern int buf_write __ARGS((buf_T *buf, char_u *fname, char_u *sfname, linenr_T start, linenr_T end, exarg_T *eap, int append, int forceit, int reset_changed, int filtering));
extern void msg_add_fname __ARGS((buf_T *buf, char_u *fname));
extern void msg_add_lines __ARGS((int insert_space, long lnum, long nchars));
extern char_u *shorten_fname __ARGS((char_u *full_path, char_u *dir_name));
extern void shorten_fnames __ARGS((int force));
extern void shorten_filenames __ARGS((char_u **fnames, int count));
extern char_u *modname __ARGS((char_u *fname, char_u *ext, int prepend_dot));
extern char_u *buf_modname __ARGS((int shortname, char_u *fname, char_u *ext, int prepend_dot));
extern int vim_fgets __ARGS((char_u *buf, int size, FILE *fp));
extern int tag_fgets __ARGS((char_u *buf, int size, FILE *fp));
extern int vim_rename __ARGS((char_u *from, char_u *to));
extern int check_timestamps __ARGS((int focus));
extern int buf_check_timestamp __ARGS((buf_T *buf, int focus));
extern void buf_reload __ARGS((buf_T *buf, int orig_mode));
extern void buf_store_time __ARGS((buf_T *buf, struct stat *st, char_u *fname));
extern void write_lnum_adjust __ARGS((linenr_T offset));
extern void vim_deltempdir __ARGS((void));
extern char_u *vim_tempname __ARGS((int extra_char));
extern void forward_slash __ARGS((char_u *fname));
extern void aubuflocal_remove __ARGS((buf_T *buf));
extern int au_has_group __ARGS((char_u *name));
extern void do_augroup __ARGS((char_u *arg, int del_group));
extern void free_all_autocmds __ARGS((void));
extern int check_ei __ARGS((void));
extern char_u *au_event_disable __ARGS((char *what));
extern void au_event_restore __ARGS((char_u *old_ei));
extern void do_autocmd __ARGS((char_u *arg, int forceit));
extern int do_doautocmd __ARGS((char_u *arg, int do_msg));
extern void ex_doautoall __ARGS((exarg_T *eap));
extern void aucmd_prepbuf __ARGS((aco_save_T *aco, buf_T *buf));
extern void aucmd_restbuf __ARGS((aco_save_T *aco));
extern int apply_autocmds __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf));
extern int apply_autocmds_retval __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf, int *retval));
extern int has_cursorhold __ARGS((void));
extern int trigger_cursorhold __ARGS((void));
extern int has_cursormoved __ARGS((void));
extern int has_cursormovedI __ARGS((void));
extern int has_autocmd __ARGS((event_T event, char_u *sfname, buf_T *buf));
extern char_u *get_augroup_name __ARGS((expand_T *xp, int idx));
extern char_u *set_context_in_autocmd __ARGS((expand_T *xp, char_u *arg, int doautocmd));
extern char_u *get_event_name __ARGS((expand_T *xp, int idx));
extern int autocmd_supported __ARGS((char_u *name));
extern int au_exists __ARGS((char_u *arg));
extern int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
extern int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
extern char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
void filemess __ARGS((buf_T *buf, char_u *name, char_u *s, int attr));
int readfile __ARGS((char_u *fname, char_u *sfname, linenr_T from, linenr_T lines_to_skip, linenr_T lines_to_read, exarg_T *eap, int flags));
int prep_exarg __ARGS((exarg_T *eap, buf_T *buf));
int buf_write __ARGS((buf_T *buf, char_u *fname, char_u *sfname, linenr_T start, linenr_T end, exarg_T *eap, int append, int forceit, int reset_changed, int filtering));
void msg_add_fname __ARGS((buf_T *buf, char_u *fname));
void msg_add_lines __ARGS((int insert_space, long lnum, long nchars));
char_u *shorten_fname __ARGS((char_u *full_path, char_u *dir_name));
void shorten_fnames __ARGS((int force));
void shorten_filenames __ARGS((char_u **fnames, int count));
char_u *modname __ARGS((char_u *fname, char_u *ext, int prepend_dot));
char_u *buf_modname __ARGS((int shortname, char_u *fname, char_u *ext, int prepend_dot));
int vim_fgets __ARGS((char_u *buf, int size, FILE *fp));
int tag_fgets __ARGS((char_u *buf, int size, FILE *fp));
int vim_rename __ARGS((char_u *from, char_u *to));
int check_timestamps __ARGS((int focus));
int buf_check_timestamp __ARGS((buf_T *buf, int focus));
void buf_reload __ARGS((buf_T *buf, int orig_mode));
void buf_store_time __ARGS((buf_T *buf, struct stat *st, char_u *fname));
void write_lnum_adjust __ARGS((linenr_T offset));
void vim_deltempdir __ARGS((void));
char_u *vim_tempname __ARGS((int extra_char));
void forward_slash __ARGS((char_u *fname));
void aubuflocal_remove __ARGS((buf_T *buf));
int au_has_group __ARGS((char_u *name));
void do_augroup __ARGS((char_u *arg, int del_group));
void free_all_autocmds __ARGS((void));
int check_ei __ARGS((void));
char_u *au_event_disable __ARGS((char *what));
void au_event_restore __ARGS((char_u *old_ei));
void do_autocmd __ARGS((char_u *arg, int forceit));
int do_doautocmd __ARGS((char_u *arg, int do_msg));
void ex_doautoall __ARGS((exarg_T *eap));
void aucmd_prepbuf __ARGS((aco_save_T *aco, buf_T *buf));
void aucmd_restbuf __ARGS((aco_save_T *aco));
int apply_autocmds __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf));
int apply_autocmds_retval __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf, int *retval));
int has_cursorhold __ARGS((void));
int trigger_cursorhold __ARGS((void));
int has_cursormoved __ARGS((void));
int has_cursormovedI __ARGS((void));
int has_autocmd __ARGS((event_T event, char_u *sfname, buf_T *buf));
char_u *get_augroup_name __ARGS((expand_T *xp, int idx));
char_u *set_context_in_autocmd __ARGS((expand_T *xp, char_u *arg, int doautocmd));
char_u *get_event_name __ARGS((expand_T *xp, int idx));
int autocmd_supported __ARGS((char_u *name));
int au_exists __ARGS((char_u *arg));
int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
/* vim: set ft=c : */

View File

@ -1,61 +1,61 @@
/* ui.c */
extern void ui_write __ARGS((char_u *s, int len));
extern void ui_inchar_undo __ARGS((char_u *s, int len));
extern int ui_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
extern int ui_char_avail __ARGS((void));
extern void ui_delay __ARGS((long msec, int ignoreinput));
extern void ui_suspend __ARGS((void));
extern void suspend_shell __ARGS((void));
extern int ui_get_shellsize __ARGS((void));
extern void ui_set_shellsize __ARGS((int mustset));
extern void ui_new_shellsize __ARGS((void));
extern void ui_breakcheck __ARGS((void));
extern void clip_init __ARGS((int can_use));
extern void clip_update_selection __ARGS((void));
extern void clip_own_selection __ARGS((VimClipboard *cbd));
extern void clip_lose_selection __ARGS((VimClipboard *cbd));
extern void clip_copy_selection __ARGS((void));
extern void clip_auto_select __ARGS((void));
extern int clip_isautosel __ARGS((void));
extern void clip_modeless __ARGS((int button, int is_click, int is_drag));
extern void clip_start_selection __ARGS((int col, int row, int repeated_click));
extern void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
extern void clip_may_redraw_selection __ARGS((int row, int col, int len));
extern void clip_clear_selection __ARGS((void));
extern void clip_may_clear_selection __ARGS((int row1, int row2));
extern void clip_scroll_selection __ARGS((int rows));
extern void clip_copy_modeless_selection __ARGS((int both));
extern int clip_gen_own_selection __ARGS((VimClipboard *cbd));
extern void clip_gen_lose_selection __ARGS((VimClipboard *cbd));
extern void clip_gen_set_selection __ARGS((VimClipboard *cbd));
extern void clip_gen_request_selection __ARGS((VimClipboard *cbd));
extern int vim_is_input_buf_full __ARGS((void));
extern int vim_is_input_buf_empty __ARGS((void));
extern int vim_free_in_input_buf __ARGS((void));
extern int vim_used_in_input_buf __ARGS((void));
extern char_u *get_input_buf __ARGS((void));
extern void set_input_buf __ARGS((char_u *p));
extern void add_to_input_buf __ARGS((char_u *s, int len));
extern void add_to_input_buf_csi __ARGS((char_u *str, int len));
extern void push_raw_key __ARGS((char_u *s, int len));
extern void trash_input_buf __ARGS((void));
extern int read_from_input_buf __ARGS((char_u *buf, long maxlen));
extern void fill_input_buf __ARGS((int exit_on_error));
extern void read_error_exit __ARGS((void));
extern void ui_cursor_shape __ARGS((void));
extern int check_col __ARGS((int col));
extern int check_row __ARGS((int row));
extern void open_app_context __ARGS((void));
extern void x11_setup_atoms __ARGS((Display *dpy));
extern void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd));
extern void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
extern int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
extern void clip_x11_set_selection __ARGS((VimClipboard *cbd));
extern int jump_to_mouse __ARGS((int flags, int *inclusive, int which_button));
extern int mouse_comp_pos __ARGS((win_T *win, int *rowp, int *colp, linenr_T *lnump));
extern win_T *mouse_find_win __ARGS((int *rowp, int *colp));
extern int get_fpos_of_mouse __ARGS((pos_T *mpos));
extern int vcol2col __ARGS((win_T *wp, linenr_T lnum, int vcol));
extern void ui_focus_change __ARGS((int in_focus));
extern void im_save_status __ARGS((long *psave));
void ui_write __ARGS((char_u *s, int len));
void ui_inchar_undo __ARGS((char_u *s, int len));
int ui_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
int ui_char_avail __ARGS((void));
void ui_delay __ARGS((long msec, int ignoreinput));
void ui_suspend __ARGS((void));
void suspend_shell __ARGS((void));
int ui_get_shellsize __ARGS((void));
void ui_set_shellsize __ARGS((int mustset));
void ui_new_shellsize __ARGS((void));
void ui_breakcheck __ARGS((void));
void clip_init __ARGS((int can_use));
void clip_update_selection __ARGS((void));
void clip_own_selection __ARGS((VimClipboard *cbd));
void clip_lose_selection __ARGS((VimClipboard *cbd));
void clip_copy_selection __ARGS((void));
void clip_auto_select __ARGS((void));
int clip_isautosel __ARGS((void));
void clip_modeless __ARGS((int button, int is_click, int is_drag));
void clip_start_selection __ARGS((int col, int row, int repeated_click));
void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
void clip_may_redraw_selection __ARGS((int row, int col, int len));
void clip_clear_selection __ARGS((void));
void clip_may_clear_selection __ARGS((int row1, int row2));
void clip_scroll_selection __ARGS((int rows));
void clip_copy_modeless_selection __ARGS((int both));
int clip_gen_own_selection __ARGS((VimClipboard *cbd));
void clip_gen_lose_selection __ARGS((VimClipboard *cbd));
void clip_gen_set_selection __ARGS((VimClipboard *cbd));
void clip_gen_request_selection __ARGS((VimClipboard *cbd));
int vim_is_input_buf_full __ARGS((void));
int vim_is_input_buf_empty __ARGS((void));
int vim_free_in_input_buf __ARGS((void));
int vim_used_in_input_buf __ARGS((void));
char_u *get_input_buf __ARGS((void));
void set_input_buf __ARGS((char_u *p));
void add_to_input_buf __ARGS((char_u *s, int len));
void add_to_input_buf_csi __ARGS((char_u *str, int len));
void push_raw_key __ARGS((char_u *s, int len));
void trash_input_buf __ARGS((void));
int read_from_input_buf __ARGS((char_u *buf, long maxlen));
void fill_input_buf __ARGS((int exit_on_error));
void read_error_exit __ARGS((void));
void ui_cursor_shape __ARGS((void));
int check_col __ARGS((int col));
int check_row __ARGS((int row));
void open_app_context __ARGS((void));
void x11_setup_atoms __ARGS((Display *dpy));
void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd));
void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
void clip_x11_set_selection __ARGS((VimClipboard *cbd));
int jump_to_mouse __ARGS((int flags, int *inclusive, int which_button));
int mouse_comp_pos __ARGS((win_T *win, int *rowp, int *colp, linenr_T *lnump));
win_T *mouse_find_win __ARGS((int *rowp, int *colp));
int get_fpos_of_mouse __ARGS((pos_T *mpos));
int vcol2col __ARGS((win_T *wp, linenr_T lnum, int vcol));
void ui_focus_change __ARGS((int in_focus));
void im_save_status __ARGS((long *psave));
/* vim: set ft=c : */