1
0
forked from aniani/vim

updated for version 7.2a

This commit is contained in:
Bram Moolenaar
2008-06-24 20:19:36 +00:00
parent 176dd1e03c
commit f233048a12
32 changed files with 3829 additions and 442 deletions

BIN
runtime/tutor/Contents.info Executable file

Binary file not shown.

View File

@@ -1,36 +1,602 @@
# Makefile for the Vim tutor.
# This Makefile has two purposes:
# 1. Starting the compilation of Vim for Unix.
# 2. Creating the various distribution files.
# 1. Using this Makefile without an argument will compile Vim for Unix.
#
# The Japanese tutor exists in three encodings. Use the UTF-8 version as the
# original and create the others with conversion.
# "make install" is also possible.
#
# Similarly for Russian and Korean
# NOTE: If this doesn't work properly, first change directory to "src" and use
# the Makefile there:
# cd src
# make [arguments]
# Noticed on AIX systems when using this Makefile: Trying to run "cproto" or
# something else after Vim has been compiled. Don't know why...
# Noticed on OS/390 Unix: Restarts configure.
#
# The first (default) target is "first". This will result in running
# "make first", so that the target from "src/auto/config.mk" is picked
# up properly when config didn't run yet. Doing "make all" before configure
# has run can result in compiling with $(CC) empty.
all: tutor.ja.sjis tutor.ja.euc \
tutor.ko.euc \
tutor.ru tutor.ru.cp1251 \
tutor.gr tutor.gr.cp737 \
tutor.hu
first:
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
tutor.ja.sjis: tutor.ja.utf-8
nkf -WXs tutor.ja.utf-8 > tutor.ja.sjis
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
tutor.ja.euc: tutor.ja.utf-8
nkf -WXe tutor.ja.utf-8 > tutor.ja.euc
tutor.ko.euc: tutor.ko.utf-8
iconv -f UTF-8 -t EUC-KR tutor.ko.utf-8 > tutor.ko.euc
# 2. Create the various distributions:
#
# TARGET PRODUCES CONTAINS
# unixall vim-#.#.tar.bz2 Runtime files and Sources for Unix
#
# extra vim-#.#-extra.tar.gz Extra source and runtime files
# lang vim-#.#-lang.tar.gz multi-language files
#
# html vim##html.zip HTML docs
#
# amisrc vim##src.tgz sources for Amiga
# amirt vim##rt.tgz runtime for Amiga
# amibin vim##bin.tgz binary for Amiga
#
# dossrc vim##src.zip sources for MS-DOS
# dosrt vim##rt.zip runtime for MS-DOS
# dosbin vim##d16.zip binary for MS-DOS 16 bits
# vim##d32.zip binary for MS-DOS 32 bits
# vim##w32.zip binary for Win32
# gvim##.zip binary for GUI Win32
# gvim##ole.zip OLE exe for Win32 GUI
# gvim##_s.zip exe for Win32s GUI
# doslang vim##lang.zip language files for Win32
#
# os2bin vim##os2.zip binary for OS/2
# (use RT from dosrt)
#
# farsi farsi##.zip Farsi fonts
#
# All output files are created in the "dist" directory. Existing files are
# overwritten!
# To do all this you need the unix, extra and lang archives, and
# compiled binaries.
# Before creating an archive first delete all backup files, *.orig, etc.
tutor.ru: tutor.ru.utf-8
iconv -f UTF-8 -t KOI8-R tutor.ru.utf-8 > tutor.ru
MAJOR = 7
MINOR = 2a
tutor.ru.cp1251: tutor.ru.utf-8
iconv -f UTF-8 -t cp1251 tutor.ru.utf-8 > tutor.ru.cp1251
# Uncomment this line if the Win32s version is to be included.
DOSBIN_S = dosbin_s
tutor.gr: tutor.gr.utf-8
iconv -f UTF-8 -t ISO-8859-7 tutor.gr.utf-8 > tutor.gr
# CHECKLIST for creating a new version:
#
# - Update Vim version number. For a test version in: src/version.h, Contents,
# MAJOR/MINOR above, VIMMAJOR and VIMMINOR in src/Makefile, README*.txt,
# runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt. For a
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
# - Correct included_patches[] in src/version.c.
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme (if you can make it
# work), Cscope and "huge" features. Exclude workshop and SNiFF.
# - With these features: "make proto" (requires cproto and Motif installed;
# ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
# - "make lint" and check the output (ignore GTK warnings).
# - Enable the efence library in "src/Makefile" and run "make test". Disable
# Python and Ruby to avoid trouble with threads (efence is not threadsafe).
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
# - Check for missing options in runtime/optwin.vim et al. (with check.vim).
# - Do "make menu" to update the runtime/synmenu.vim file.
# - Add remarks for changes to runtime/doc/version7.txt.
# - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL
# ADDITIONS".
# - In runtime/doc run "make" and "make html" to check for errors.
# - Check if src/Makefile and src/feature.h don't contain any personal
# preferences or the GTK, Perl, etc. mentioned above.
# - Check file protections to be "644" for text and "755" for executables (run
# the "check" script).
# - Check compiling on Amiga, MS-DOS and MS-Windows.
# - Delete all *~, *.sw?, *.orig, *.rej files
# - "make unixall", "make extra", "make lang", "make html"
# - Make diff files against the previous release: "makediff7 7.1 7.2"
#
# Amiga:
# - "make amisrc", move the archive to the Amiga and compile:
# "make -f Make_manx.mak" (will use "big" features by default).
# - Run the tests: "make -f Make_manx.mak test"
# - Place the executables Vim and Xxd in this directory (set the executable
# flag).
# - "make amirt", "make amibin".
#
# PC:
# - "make dossrc" and "make dosrt". Unpack the archives on a PC.
# 16 bit DOS version:
# - Set environment for compiling with Borland C++ 3.1.
# - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
# case set environment for compiling with Borland C++ 4.0 and do
# "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
# NOTE: this currently fails because Vim is too big.
# - "make test" and check the output.
# - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
# "uninstald16.exe".
# 32 bit DOS version:
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output for
# "ALL DONE".
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
# "uninstald32.exe".
# Win32 console version:
# - Set environment for Visual C++ 2008 Express Edition: "msvc2008.bat". Or,
# when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the paths
# when necessary).
# - "nmake -f Make_mvc.mak"
# - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
# - Rename the executables to "vimw32.exe", "xxdw32.exe".
# - Rename vim.pdb to vimw32.pdb.
# - When building the Win32s version later, delete vimrun.exe, install.exe and
# uninstal.exe. Otherwise rename executables to installw32.exe and
# uninstalw32.exe.
# Win32 GUI version:
# - "nmake -f Make_mvc.mak GUI=yes.
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
# - Move gvim.pdb to here.
# - Delete vimrun.exe, install.exe and uninstal.exe.
# - Copy "GvimExt/gvimext.dll" to here.
# Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
# - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
# - Rename "gvim.exe" to "gvim_ole.exe".
# - Rename gvim.pdb to "gvim_ole.pdb".
# - Delete install.exe and uninstal.exe.
# - If building the Win32s version delete vimrun.exe.
# Win32s GUI version:
# - Set environment for Visual C++ 4.1 (requires a new console window)
# - "vcvars32" (use the path for VC 4.1 e:\msdev\bin)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
# - Rename "gvim.exe" to "gvim_w32s.exe".
# - Rename "install.exe" to "installw32.exe"
# - Rename "uninstal.exe" to "uninstalw32.exe"
# - The produced uninstalw32.exe and vimrun.exe are used.
# Create the archives:
# - Copy all the "*.exe" files to where this Makefile is.
# - Copy all the "*.pdb" files to where this Makefile is.
# - "make dosbin".
# - Run make on Unix to update the ".mo" files.
# - "make doslang".
# NSIS self installing exe:
# - Unpack the doslang archive on the PC.
# - Make sure gvim_ole.exe, vimd32.exe, vimw32.exe, installw32.exe,
# uninstalw32.exe and xxdw32.exe have been build as mentioned above.
# - put gvimext.dll in src/GvimExt and VisVim.dll in src/VisVim (get them
# from a binary archive or build them)
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
# - make sure there is a diff.exe two levels up
# - go to ../nsis and do "makensis gvim.nsi".
# - Copy gvim##.exe to the dist directory.
#
# OS/2:
# - Unpack the Unix "src", "extra" and "rt" archives.
# - "make -f Make_os2.mak".
# - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
# them to here.
# - "make os2bin".
tutor.gr.cp737: tutor.gr.utf-8
iconv -f UTF-8 -t cp737 tutor.gr.utf-8 > tutor.gr.cp737
VIMVER = vim-$(MAJOR).$(MINOR)
VERSION = $(MAJOR)$(MINOR)
VDOT = $(MAJOR).$(MINOR)
VIMRTDIR = vim$(VERSION)
tutor.hu: tutor.hu.utf-8
iconv -f UTF-8 -t ISO-8859-2 tutor.hu.utf-8 > tutor.hu
# Vim used for conversion from "unix" to "dos"
VIM = vim
# How to include Filelist depends on the version of "make" you have.
# If the current choice doesn't work, try the other one.
include Filelist
#.include "Filelist"
# All output is put in the "dist" directory.
dist:
mkdir dist
# Clean up some files to avoid they are included.
prepare:
if test -f runtime/doc/uganda.nsis.txt; then \
rm runtime/doc/uganda.nsis.txt; fi
# For the zip files we need to create a file with the comment line
dist/comment:
mkdir dist/comment
COMMENT_RT = comment/$(VERSION)-rt
COMMENT_RT1 = comment/$(VERSION)-rt1
COMMENT_RT2 = comment/$(VERSION)-rt2
COMMENT_D16 = comment/$(VERSION)-bin-d16
COMMENT_D32 = comment/$(VERSION)-bin-d32
COMMENT_W32 = comment/$(VERSION)-bin-w32
COMMENT_GVIM = comment/$(VERSION)-bin-gvim
COMMENT_OLE = comment/$(VERSION)-bin-ole
COMMENT_W32S = comment/$(VERSION)-bin-w32s
COMMENT_SRC = comment/$(VERSION)-src
COMMENT_OS2 = comment/$(VERSION)-bin-os2
COMMENT_HTML = comment/$(VERSION)-html
COMMENT_FARSI = comment/$(VERSION)-farsi
COMMENT_LANG = comment/$(VERSION)-lang
dist/$(COMMENT_RT): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
dist/$(COMMENT_RT1): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 1) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT1)
dist/$(COMMENT_RT2): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 2) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT2)
dist/$(COMMENT_D16): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)
dist/$(COMMENT_D32): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 32 bit protected mode" > dist/$(COMMENT_D32)
dist/$(COMMENT_W32): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)
dist/$(COMMENT_GVIM): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows NT/95" > dist/$(COMMENT_GVIM)
dist/$(COMMENT_OLE): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
dist/$(COMMENT_W32S): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows 3.1/3.11" > dist/$(COMMENT_W32S)
dist/$(COMMENT_SRC): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)
dist/$(COMMENT_OS2): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries + runtime files for OS/2" > dist/$(COMMENT_OS2)
dist/$(COMMENT_HTML): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) documentation in HTML" > dist/$(COMMENT_HTML)
dist/$(COMMENT_FARSI): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI)
dist/$(COMMENT_LANG): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)
unixall: dist prepare
-rm -f dist/$(VIMVER).tar.bz2
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(RT_ALL) \
$(RT_ALL_BIN) \
$(RT_UNIX) \
$(RT_UNIX_DOS_BIN) \
$(RT_SCRIPTS) \
$(LANG_GEN) \
$(LANG_GEN_BIN) \
$(SRC_ALL) \
$(SRC_UNIX) \
$(SRC_DOS_UNIX) \
| (cd dist/$(VIMRTDIR); tar xf -)
# Need to use a "distclean" config.mk file
cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
# Create an empty config.h file, make dependencies require it
touch dist/$(VIMRTDIR)/src/auto/config.h
# Make sure configure is newer than config.mk to force it to be generated
touch dist/$(VIMRTDIR)/src/configure
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
bzip2 dist/$(VIMVER).tar
extra: dist prepare
-rm -f dist/$(VIMVER)-extra.tar.gz
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(EXTRA) \
| (cd dist/$(VIMRTDIR); tar xf -)
cd dist && tar cf $(VIMVER)-extra.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-extra.tar
lang: dist prepare
-rm -f dist/$(VIMVER)-lang.tar.gz
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(LANG_SRC) \
| (cd dist/$(VIMRTDIR); tar xf -)
# Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
# Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
touch dist/$(VIMRTDIR)/src/po/ja.sjis.po
touch dist/$(VIMRTDIR)/src/po/cs.cp1250.po
touch dist/$(VIMRTDIR)/src/po/pl.cp1250.po
touch dist/$(VIMRTDIR)/src/po/sk.cp1250.po
touch dist/$(VIMRTDIR)/src/po/zh_CN.cp936.po
touch dist/$(VIMRTDIR)/src/po/ru.cp1251.po
touch dist/$(VIMRTDIR)/src/po/uk.cp1251.po
cd dist && tar cf $(VIMVER)-lang.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-lang.tar
amirt: dist prepare
-rm -f dist/vim$(VERSION)rt.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$(VIMRTDIR)
tar cf - \
$(ROOT_AMI) \
$(RT_ALL) \
$(RT_ALL_BIN) \
$(RT_SCRIPTS) \
$(RT_AMI) \
$(RT_NO_UNIX) \
$(RT_AMI_DOS) \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
mv dist/Vim/$(VIMRTDIR)/runtime/* dist/Vim/$(VIMRTDIR)
rmdir dist/Vim/$(VIMRTDIR)/runtime
cd dist && tar cf vim$(VERSION)rt.tar Vim Vim.info
gzip -9 dist/vim$(VERSION)rt.tar
mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz
amibin: dist prepare
-rm -f dist/vim$(VERSION)bin.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$(VIMRTDIR)
tar cf - \
$(ROOT_AMI) \
$(BIN_AMI) \
Vim \
Xxd \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
cd dist && tar cf vim$(VERSION)bin.tar Vim Vim.info
gzip -9 dist/vim$(VERSION)bin.tar
mv dist/vim$(VERSION)bin.tar.gz dist/vim$(VERSION)bin.tgz
amisrc: dist prepare
-rm -f dist/vim$(VERSION)src.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$(VIMRTDIR)
tar cf - \
$(ROOT_AMI) \
$(SRC_ALL) \
$(SRC_AMI) \
$(SRC_AMI_DOS) \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
cd dist && tar cf vim$(VERSION)src.tar Vim Vim.info
gzip -9 dist/vim$(VERSION)src.tar
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
no_title.vim: Makefile
echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim
dosrt: dist dist/$(COMMENT_RT) dosrt_unix2dos
-rm -rf dist/vim$(VERSION)rt.zip
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
# Split in two parts to avoid a "argument list too long" error.
dosrt_unix2dos: dist prepare no_title.vim
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(RT_ALL) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
tar cf - \
$(RT_SCRIPTS) \
$(RT_DOS) \
$(RT_NO_UNIX) \
$(RT_AMI_DOS) \
$(LANG_GEN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(RT_UNIX_DOS_BIN) \
$(RT_ALL_BIN) \
$(RT_DOS_BIN) \
$(LANG_GEN_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
# Convert runtime files from Unix fileformat to dos fileformat.
# Used before uploading. Don't delete the AAPDIR/sign files!
runtime_unix2dos: dosrt_unix2dos
-rm -rf `find runtime/dos -type f -print | sed -e /AAPDIR/d`
cd dist/vim/$(VIMRTDIR); tar cf - * \
| (cd ../../../runtime/dos; tar xf -)
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_d16 dosbin_ole $(DOSBIN_S)
# make Win32 gvim
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
-rm -rf dist/gvim$(VERSION).zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
cp gvim.pdb dist/gvim$(VERSION).pdb
# make Win32 console
dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
-rm -rf dist/vim$(VERSION)w32.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
# make 32bit DOS
dosbin_d32: dist no_title.vim dist/$(COMMENT_D32)
-rm -rf dist/vim$(VERSION)d32.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstald32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp csdpmi4b.zip dist/vim/$(VIMRTDIR)
cd dist && zip -9 -rD -z vim$(VERSION)d32.zip vim <$(COMMENT_D32)
# make 16bit DOS
dosbin_d16: dist no_title.vim dist/$(COMMENT_D16)
-rm -rf dist/vim$(VERSION)d16.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstald16.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z vim$(VERSION)d16.zip vim <$(COMMENT_D16)
# make Win32 gvim with OLE
dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
-rm -rf dist/gvim$(VERSION)ole.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
cp README_ole.txt dist/vim/$(VIMRTDIR)
cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll
cp src/VisVim/README_VisVim.txt dist/vim/$(VIMRTDIR)
cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
cp gvim_ole.pdb dist/gvim$(VERSION)ole.pdb
# make Win32s gvim
dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
-rm -rf dist/gvim$(VERSION)_s.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp README_w32s.txt dist/vim/$(VIMRTDIR)
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
# make Win32 lang archive
doslang: dist prepare no_title.vim dist/$(COMMENT_LANG)
-rm -rf dist/vim$(VERSION)lang.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
mkdir dist/vim/$(VIMRTDIR)/lang
cd src && MAKEMO=yes $(MAKE) languages
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
for i in $(LANG_DOS); do \
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
fi \
done
cp libintl.dll dist/vim/$(VIMRTDIR)/
cd dist && zip -9 -rD -z vim$(VERSION)lang.zip vim <$(COMMENT_LANG)
# MS-DOS sources
dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(SRC_ALL) \
$(SRC_DOS) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \
runtime/doc/uganda.nsis.txt \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(SRC_DOS_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
cd runtime/doc && $(MAKE) uganda.nsis.txt
os2bin: dist no_title.vim dist/$(COMMENT_OS2)
-rm -rf dist/vim$(VERSION)os2.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_OS2) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
cp vimos2.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdos2.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp teeos2.exe dist/vim/$(VIMRTDIR)/tee.exe
cp emx.dll emxlibcs.dll dist/vim/$(VIMRTDIR)
cd dist && zip -9 -rD -z vim$(VERSION)os2.zip vim <$(COMMENT_OS2)
html: dist dist/$(COMMENT_HTML)
-rm -rf dist/vim$(VERSION)html.zip
cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML)
farsi: dist dist/$(COMMENT_FARSI)
-rm -f dist/farsi$(VERSION).zip
zip -9 -rD -z dist/farsi$(VERSION).zip farsi < dist/$(COMMENT_FARSI)

View File

@@ -0,0 +1,130 @@
README_os_390.txt for version 7.2a of Vim: Vi IMproved.
Welcome to the OS/390 Unix port of VIM.
ATTENTION: THIS IS AN _ALPHA_ VERSION!!!
I expect you to know how to handle alpha software!
This port was done by Ralf Schandl <schandl@de.ibm.com>.
This port is not maintained or supported by IBM!!
For the list of changes see runtime/doc/os_390.txt.
Compiling:
----------
Note: After the file configure was created via autoconf, it had been
handedited, to make the test for ICEConnectionNumber work.
DO NOT run autoconf again!
Without X11:
If you build VIM without X11 support, compiling and building is nearly
straightforward. The only restriction is, that you can't call make from the
VIM toplevel directory. Change to the src directory first and call make from
there. Here is a what to do:
# Don't use c89!
# Make additional symbols visible.
# Allow intermixing of compiler options and files.
$ export CC=cc
$ export CFLAGS=-D_ALL_SOURCE
$ export _CC_CCMODE=1
$./configure --enable-max-features --without-x --enable-gui=no
$ cd src
$ make
$ make test
Note: Test 28 will be reported as failed. This is because diff can't
compare files containing '\0' characters. Test 11 will fail if you
don't have gzip.
$ make install
With X11:
There are two ways for building VIM with X11 support. The first way is simple
and results in a big executable (~13 Mb), the second needs a few additional
steps and results in a much smaller executable (~4.5 Mb). This examples assume
you want Motif.
The easy way:
$ export CC=cc
$ export CFLAGS="-D_ALL_SOURCE -W c,dll"
$ export LDFLAGS="-W l,dll"
$ export _CC_CCMODE=1
$ ./configure --enable-max-features --enable-gui=motif
$ cd src
$ make
With this VIM is linked statically with the X11 libraries.
The smarter way:
Make VIM as described above. Then create a file named 'link.sed' with the
following contense:
s/-lXext *//g
s/-lXmu *//g
s/-lXm */\/usr\/lib\/Xm.x /g
s/-lX11 */\/usr\/lib\/X11.x /g
s/-lXt *//g
s/-lSM */\/usr\/lib\/SM.x /g
s/-lICE */\/usr\/lib\/ICE.x /g
Then do:
$ rm vim
$ make
Now Vim is linked with the X11-DLLs.
See the Makefile and the file link.sh on how link.sed is used.
Hint:
-----
Use the online help! (See weaknesses below.)
Example:
Enter ':help syntax' and then press <TAB> several times, you will switch
through all help items containing 'syntax'. Press <ENTER> on the one you are
interested at. Or press <Ctrl-D> and you will get a list of all items printed
that contain 'syntax'.
The helpfiles contains cross-references. Links are between '|'. Position the
cursor on them and press <Ctrl-]> to follow this link. Use <Ctrl-T> to jump
back.
Known weaknesses:
-----------------
- You can't call make from the toplevel directory, you have to do a 'cd src'
first. If you do it, make will call configure again. I don't know why and
didn't investigate it, there were more important things to do. If you can
make it work drop me a note.
- The documentation was not updated for this alpha release. It contains lot of
ASCII dependencies, especially in examples.
- Digraphs are dependent on code page 1047. Digraphs are used to enter
characters that normally cannot be entered by an ordinary keyboard.
See ":help digraphs".
- Using 'ga' to show the code of the character under the cursor shows the
correct dec/hex/oct values, but the other informations might be missing or
wrong.
- The sed syntax file doesn't work, it is ASCII dependent.
Bugs:
-----
If you find a bug please inform me (schandl@de.ibm.com), don't disturb Bram
Moolenaar. It's most likely a bug I introduced during porting or some ASCII
dependency I didn't notice.
Feedback:
---------
Feedback welcome! Just drop me a note.

View File

@@ -0,0 +1,580 @@
" Script to define the syntax menu in synmenu.vim
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Jun 24
" This is used by "make menu" in the src directory.
edit <sfile>:p:h/synmenu.vim
/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d
let s:lnum = line(".") - 1
call append(s:lnum, "")
let s:lnum = s:lnum + 1
" Use the SynMenu command and function to define all menu entries
command! -nargs=* SynMenu call <SID>Syn(<q-args>)
let s:cur_menu_name = ""
let s:cur_menu_nr = 0
let s:cur_menu_item = 0
let s:cur_menu_char = ""
fun! <SID>Syn(arg)
" isolate menu name: until the first dot
let i = match(a:arg, '\.')
let menu_name = strpart(a:arg, 0, i)
let r = strpart(a:arg, i + 1, 999)
" isolate submenu name: until the colon
let i = match(r, ":")
let submenu_name = strpart(r, 0, i)
" after the colon is the syntax name
let syntax_name = strpart(r, i + 1, 999)
if s:cur_menu_name != menu_name
let s:cur_menu_name = menu_name
let s:cur_menu_nr = s:cur_menu_nr + 10
let s:cur_menu_item = 100
let s:cur_menu_char = submenu_name[0]
else
" When starting a new letter, insert a menu separator.
let c = submenu_name[0]
if c != s:cur_menu_char
exe 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . ".-" . c . '- <nul>'
let s:cur_menu_item = s:cur_menu_item + 10
let s:cur_menu_char = c
endif
endif
call append(s:lnum, 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . "." . submenu_name . ' :cal SetSyn("' . syntax_name . '")<CR>')
let s:cur_menu_item = s:cur_menu_item + 10
let s:lnum = s:lnum + 1
endfun
SynMenu AB.A2ps\ config:a2ps
SynMenu AB.Aap:aap
SynMenu AB.ABAP/4:abap
SynMenu AB.Abaqus:abaqus
SynMenu AB.ABC\ music\ notation:abc
SynMenu AB.ABEL:abel
SynMenu AB.AceDB\ model:acedb
SynMenu AB.Ada:ada
SynMenu AB.AfLex:aflex
SynMenu AB.ALSA\ config:alsaconf
SynMenu AB.Altera\ AHDL:ahdl
SynMenu AB.Amiga\ DOS:amiga
SynMenu AB.AMPL:ampl
SynMenu AB.Ant\ build\ file:ant
SynMenu AB.ANTLR:antlr
SynMenu AB.Apache\ config:apache
SynMenu AB.Apache-style\ config:apachestyle
SynMenu AB.Applix\ ELF:elf
SynMenu AB.Arc\ Macro\ Language:aml
SynMenu AB.Arch\ inventory:arch
SynMenu AB.ART:art
SynMenu AB.ASP\ with\ VBScript:aspvbs
SynMenu AB.ASP\ with\ Perl:aspperl
SynMenu AB.Assembly.680x0:asm68k
SynMenu AB.Assembly.Flat:fasm
SynMenu AB.Assembly.GNU:asm
SynMenu AB.Assembly.GNU\ H-8300:asmh8300
SynMenu AB.Assembly.Intel\ IA-64:ia64
SynMenu AB.Assembly.Microsoft:masm
SynMenu AB.Assembly.Netwide:nasm
SynMenu AB.Assembly.PIC:pic
SynMenu AB.Assembly.Turbo:tasm
SynMenu AB.Assembly.VAX\ Macro\ Assembly:vmasm
SynMenu AB.Assembly.Z-80:z8a
SynMenu AB.Assembly.xa\ 6502\ cross\ assember:a65
SynMenu AB.ASN\.1:asn
SynMenu AB.Asterisk\ config:asterisk
SynMenu AB.Asterisk\ voicemail\ config:asteriskvm
SynMenu AB.Atlas:atlas
SynMenu AB.AutoHotKey:autohotkey
SynMenu AB.AutoIt:autoit
SynMenu AB.Automake:automake
SynMenu AB.Avenue:ave
SynMenu AB.Awk:awk
SynMenu AB.AYacc:ayacc
SynMenu AB.B:b
SynMenu AB.Baan:baan
SynMenu AB.Basic.FreeBasic:freebasic
SynMenu AB.Basic.IBasic:ibasic
SynMenu AB.Basic.QBasic:basic
SynMenu AB.Basic.Visual\ Basic:vb
SynMenu AB.Bazaar\ commit\ file:bzr
SynMenu AB.BC\ calculator:bc
SynMenu AB.BDF\ font:bdf
SynMenu AB.BibTeX.Bibliography\ database:bib
SynMenu AB.BibTeX.Bibliography\ Style:bst
SynMenu AB.BIND.BIND\ config:named
SynMenu AB.BIND.BIND\ zone:bindzone
SynMenu AB.Blank:blank
SynMenu C.C:c
SynMenu C.C++:cpp
SynMenu C.C#:cs
SynMenu C.Calendar:calendar
SynMenu C.Cascading\ Style\ Sheets:css
SynMenu C.CDL:cdl
SynMenu C.Cdrdao\ TOC:cdrtoc
SynMenu C.Cdrdao\ config:cdrdaoconf
SynMenu C.Century\ Term:cterm
SynMenu C.CH\ script:ch
SynMenu C.ChangeLog:changelog
SynMenu C.Cheetah\ template:cheetah
SynMenu C.CHILL:chill
SynMenu C.ChordPro:chordpro
SynMenu C.Clean:clean
SynMenu C.Clever:cl
SynMenu C.Clipper:clipper
SynMenu C.Cmake:cmake
SynMenu C.Cmusrc:cmusrc
SynMenu C.Cobol:cobol
SynMenu C.Coco/R:coco
SynMenu C.Cold\ Fusion:cf
SynMenu C.Conary\ Recipe:conaryrecipe
SynMenu C.Config.Cfg\ Config\ file:cfg
SynMenu C.Config.Configure\.in:config
SynMenu C.Config.Generic\ Config\ file:conf
SynMenu C.CRM114:crm
SynMenu C.Crontab:crontab
SynMenu C.CSP:csp
SynMenu C.Ctrl-H:ctrlh
SynMenu C.CUDA:cuda
SynMenu C.CUPL.CUPL:cupl
SynMenu C.CUPL.Simulation:cuplsim
SynMenu C.CVS.commit\ file:cvs
SynMenu C.CVS.cvsrc:cvsrc
SynMenu C.Cyn++:cynpp
SynMenu C.Cynlib:cynlib
SynMenu DE.D:d
SynMenu DE.Debian.Debian\ ChangeLog:debchangelog
SynMenu DE.Debian.Debian\ Control:debcontrol
SynMenu DE.Debian.Debian\ Sources\.list:debsources
SynMenu DE.Denyhosts:denyhosts
SynMenu DE.Desktop:desktop
SynMenu DE.Dict\ config:dictconf
SynMenu DE.Dictd\ config:dictdconf
SynMenu DE.Diff:diff
SynMenu DE.Digital\ Command\ Lang:dcl
SynMenu DE.Dircolors:dircolors
SynMenu DE.Django\ template:django
SynMenu DE.DNS/BIND\ zone:bindzone
SynMenu DE.DocBook.auto-detect:docbk
SynMenu DE.DocBook.SGML:docbksgml
SynMenu DE.DocBook.XML:docbkxml
SynMenu DE.Dot:dot
SynMenu DE.Doxygen.C\ with\ doxygen:c.doxygen
SynMenu DE.Doxygen.C++\ with\ doxygen:cpp.doxygen
SynMenu DE.Doxygen.IDL\ with\ doxygen:idl.doxygen
SynMenu DE.Doxygen.Java\ with\ doxygen:java.doxygen
SynMenu DE.Dracula:dracula
SynMenu DE.DSSSL:dsl
SynMenu DE.DTD:dtd
SynMenu DE.DTML\ (Zope):dtml
SynMenu DE.DTrace:dtrace
SynMenu DE.Dylan.Dylan:dylan
SynMenu DE.Dylan.Dylan\ interface:dylanintr
SynMenu DE.Dylan.Dylan\ lid:dylanlid
SynMenu DE.EDIF:edif
SynMenu DE.Eiffel:eiffel
SynMenu DE.Elinks\ config:elinks
SynMenu DE.Elm\ filter\ rules:elmfilt
SynMenu DE.Embedix\ Component\ Description:ecd
SynMenu DE.ERicsson\ LANGuage:erlang
SynMenu DE.ESMTP\ rc:esmtprc
SynMenu DE.ESQL-C:esqlc
SynMenu DE.Essbase\ script:csc
SynMenu DE.Esterel:esterel
SynMenu DE.Eterm\ config:eterm
SynMenu DE.Eviews:eviews
SynMenu DE.Exim\ conf:exim
SynMenu DE.Expect:expect
SynMenu DE.Exports:exports
SynMenu FG.Fetchmail:fetchmail
SynMenu FG.FlexWiki:flexwiki
SynMenu FG.Focus\ Executable:focexec
SynMenu FG.Focus\ Master:master
SynMenu FG.FORM:form
SynMenu FG.Forth:forth
SynMenu FG.Fortran:fortran
SynMenu FG.FoxPro:foxpro
SynMenu FG.FrameScript:framescript
SynMenu FG.Fstab:fstab
SynMenu FG.Fvwm.Fvwm\ configuration:fvwm1
SynMenu FG.Fvwm.Fvwm2\ configuration:fvwm2
SynMenu FG.Fvwm.Fvwm2\ configuration\ with\ M4:fvwm2m4
SynMenu FG.GDB\ command\ file:gdb
SynMenu FG.GDMO:gdmo
SynMenu FG.Gedcom:gedcom
SynMenu FG.Git.Output:git
SynMenu FG.Git.Commit:gitcommit
SynMenu FG.Git.Config:gitconfig
SynMenu FG.Git.Rebase:gitrebase
SynMenu FG.Git.Send\ Email:gitsendemail
SynMenu FG.Gkrellmrc:gkrellmrc
SynMenu FG.GP:gp
SynMenu FG.GPG:gpg
SynMenu FG.Group\ file:group
SynMenu FG.Grub:grub
SynMenu FG.GNU\ Server\ Pages:gsp
SynMenu FG.GNUplot:gnuplot
SynMenu FG.GrADS\ scripts:grads
SynMenu FG.Gretl:gretl
SynMenu FG.Groff:groff
SynMenu FG.Groovy:groovy
SynMenu FG.GTKrc:gtkrc
SynMenu HIJK.Hamster:hamster
SynMenu HIJK.Haskell.Haskell:haskell
SynMenu HIJK.Haskell.Haskell-c2hs:chaskell
SynMenu HIJK.Haskell.Haskell-literate:lhaskell
SynMenu HIJK.HASTE:haste
SynMenu HIJK.Hercules:hercules
SynMenu HIJK.Hex\ dump.XXD:xxd
SynMenu HIJK.Hex\ dump.Intel\ MCS51:hex
SynMenu HIJK.HTML.HTML:html
SynMenu HIJK.HTML.HTML\ with\ M4:htmlm4
SynMenu HIJK.HTML.HTML\ with\ Ruby\ (eRuby):eruby
SynMenu HIJK.HTML.Cheetah\ HTML\ template:htmlcheetah
SynMenu HIJK.HTML.Django\ HTML\ template:htmldjango
SynMenu HIJK.HTML.HTML/OS:htmlos
SynMenu HIJK.HTML.XHTML:xhtml
SynMenu HIJK.Host\.conf:hostconf
SynMenu HIJK.Hyper\ Builder:hb
SynMenu HIJK.Icewm\ menu:icemenu
SynMenu HIJK.Icon:icon
SynMenu HIJK.IDL\Generic\ IDL:idl
SynMenu HIJK.IDL\Microsoft\ IDL:msidl
SynMenu HIJK.Indent\ profile:indent
SynMenu HIJK.Inform:inform
SynMenu HIJK.Informix\ 4GL:fgl
SynMenu HIJK.Initng:initng
SynMenu HIJK.Inittab:inittab
SynMenu HIJK.Inno\ setup:iss
SynMenu HIJK.InstallShield\ script:ishd
SynMenu HIJK.Interactive\ Data\ Lang:idlang
SynMenu HIJK.IPfilter:ipfilter
SynMenu HIJK.JAL:jal
SynMenu HIJK.JAM:jam
SynMenu HIJK.Jargon:jargon
SynMenu HIJK.Java.Java:java
SynMenu HIJK.Java.JavaCC:javacc
SynMenu HIJK.Java.Java\ Server\ Pages:jsp
SynMenu HIJK.Java.Java\ Properties:jproperties
SynMenu HIJK.JavaScript:javascript
SynMenu HIJK.Jess:jess
SynMenu HIJK.Jgraph:jgraph
SynMenu HIJK.Kconfig:kconfig
SynMenu HIJK.KDE\ script:kscript
SynMenu HIJK.Kimwitu++:kwt
SynMenu HIJK.KixTart:kix
SynMenu L-Ma.Lace:lace
SynMenu L-Ma.LamdaProlog:lprolog
SynMenu L-Ma.Latte:latte
SynMenu L-Ma.Ld\ script:ld
SynMenu L-Ma.LDAP.LDIF:ldif
SynMenu L-Ma.LDAP.Configuration:ldapconf
SynMenu L-Ma.Lex:lex
SynMenu L-Ma.LFTP\ config:lftp
SynMenu L-Ma.Libao:libao
SynMenu L-Ma.LifeLines\ script:lifelines
SynMenu L-Ma.Lilo:lilo
SynMenu L-Ma.Limits\ config:limits
SynMenu L-Ma.Linden\ scripting:lsl
SynMenu L-Ma.Lisp:lisp
SynMenu L-Ma.Lite:lite
SynMenu L-Ma.LiteStep\ RC:litestep
SynMenu L-Ma.Locale\ Input:fdcc
SynMenu L-Ma.Login\.access:loginaccess
SynMenu L-Ma.Login\.defs:logindefs
SynMenu L-Ma.Logtalk:logtalk
SynMenu L-Ma.LOTOS:lotos
SynMenu L-Ma.LotusScript:lscript
SynMenu L-Ma.Lout:lout
SynMenu L-Ma.LPC:lpc
SynMenu L-Ma.Lua:lua
SynMenu L-Ma.Lynx\ Style:lss
SynMenu L-Ma.Lynx\ config:lynx
SynMenu L-Ma.M4:m4
SynMenu L-Ma.MaGic\ Point:mgp
SynMenu L-Ma.Mail:mail
SynMenu L-Ma.Mail\ aliases:mailaliases
SynMenu L-Ma.Mailcap:mailcap
SynMenu L-Ma.Makefile:make
SynMenu L-Ma.MakeIndex:ist
SynMenu L-Ma.Man\ page:man
SynMenu L-Ma.Man\.conf:manconf
SynMenu L-Ma.Maple\ V:maple
SynMenu L-Ma.Mason:mason
SynMenu L-Ma.Mathematica:mma
SynMenu L-Ma.Matlab:matlab
SynMenu L-Ma.Maxima:maxima
SynMenu Me-NO.MEL\ (for\ Maya):mel
SynMenu Me-NO.Messages\ (/var/log):messages
SynMenu Me-NO.Metafont:mf
SynMenu Me-NO.MetaPost:mp
SynMenu Me-NO.MGL:mgl
SynMenu Me-NO.MMIX:mmix
SynMenu Me-NO.Modconf:modconf
SynMenu Me-NO.Model:model
SynMenu Me-NO.Modsim\ III:modsim3
SynMenu Me-NO.Modula\ 2:modula2
SynMenu Me-NO.Modula\ 3:modula3
SynMenu Me-NO.Monk:monk
SynMenu Me-NO.Mplayer\ config:mplayerconf
SynMenu Me-NO.MOO:moo
SynMenu Me-NO.Mrxvtrc:mrxvtrc
SynMenu Me-NO.MS-DOS/Windows.4DOS\ \.bat\ file:btm
SynMenu Me-NO.MS-DOS/Windows.\.bat\/\.cmd\ file:dosbatch
SynMenu Me-NO.MS-DOS/Windows.\.ini\ file:dosini
SynMenu Me-NO.MS-DOS/Windows.Message\ text:msmessages
SynMenu Me-NO.MS-DOS/Windows.Module\ Definition:def
SynMenu Me-NO.MS-DOS/Windows.Registry:registry
SynMenu Me-NO.MS-DOS/Windows.Resource\ file:rc
SynMenu Me-NO.Msql:msql
SynMenu Me-NO.MuPAD:mupad
SynMenu Me-NO.MUSHcode:mush
SynMenu Me-NO.Muttrc:muttrc
SynMenu Me-NO.Nanorc:nanorc
SynMenu Me-NO.Nastran\ input/DMAP:nastran
SynMenu Me-NO.Natural:natural
SynMenu Me-NO.Netrc:netrc
SynMenu Me-NO.Novell\ NCF\ batch:ncf
SynMenu Me-NO.Not\ Quite\ C\ (LEGO):nqc
SynMenu Me-NO.Nroff:nroff
SynMenu Me-NO.NSIS\ script:nsis
SynMenu Me-NO.Objective\ C:objc
SynMenu Me-NO.Objective\ C++:objcpp
SynMenu Me-NO.OCAML:ocaml
SynMenu Me-NO.Occam:occam
SynMenu Me-NO.Omnimark:omnimark
SynMenu Me-NO.OpenROAD:openroad
SynMenu Me-NO.Open\ Psion\ Lang:opl
SynMenu Me-NO.Oracle\ config:ora
SynMenu PQ.Packet\ filter\ conf:pf
SynMenu PQ.Palm\ resource\ compiler:pilrc
SynMenu PQ.Pam\ config:pamconf
SynMenu PQ.PApp:papp
SynMenu PQ.Pascal:pascal
SynMenu PQ.Password\ file:passwd
SynMenu PQ.PCCTS:pccts
SynMenu PQ.PDF:pdf
SynMenu PQ.Perl.Perl:perl
SynMenu PQ.Perl.Perl\ POD:pod
SynMenu PQ.Perl.Perl\ XS:xs
SynMenu PQ.PHP.PHP\ 3-4:php
SynMenu PQ.PHP.Phtml\ (PHP\ 2):phtml
SynMenu PQ.Pike:pike
SynMenu PQ.Pine\ RC:pine
SynMenu PQ.Pinfo\ RC:pinfo
SynMenu PQ.PL/M:plm
SynMenu PQ.PL/SQL:plsql
SynMenu PQ.PLP:plp
SynMenu PQ.PO\ (GNU\ gettext):po
SynMenu PQ.Postfix\ main\ config:pfmain
SynMenu PQ.PostScript.PostScript:postscr
SynMenu PQ.PostScript.PostScript\ Printer\ Description:ppd
SynMenu PQ.Povray.Povray\ scene\ descr:pov
SynMenu PQ.Povray.Povray\ configuration:povini
SynMenu PQ.PPWizard:ppwiz
SynMenu PQ.Prescribe\ (Kyocera):prescribe
SynMenu PQ.Printcap:pcap
SynMenu PQ.Privoxy:privoxy
SynMenu PQ.Procmail:procmail
SynMenu PQ.Product\ Spec\ File:psf
SynMenu PQ.Progress:progress
SynMenu PQ.Prolog:prolog
SynMenu PQ.ProMeLa:promela
SynMenu PQ.Protocols:protocols
SynMenu PQ.Purify\ log:purifylog
SynMenu PQ.Pyrex:pyrex
SynMenu PQ.Python:python
SynMenu PQ.Quake:quake
SynMenu PQ.Quickfix\ window:qf
SynMenu R-Sg.R.R:r
SynMenu R-Sg.R.R\ help:rhelp
SynMenu R-Sg.R.R\ noweb:rnoweb
SynMenu R-Sg.Racc\ input:racc
SynMenu R-Sg.Radiance:radiance
SynMenu R-Sg.Ratpoison:ratpoison
SynMenu R-Sg.RCS.RCS\ log\ output:rcslog
SynMenu R-Sg.RCS.RCS\ file:rcs
SynMenu R-Sg.Readline\ config:readline
SynMenu R-Sg.Rebol:rebol
SynMenu R-Sg.Remind:remind
SynMenu R-Sg.Relax\ NG\ compact:rnc
SynMenu R-Sg.Renderman.Renderman\ Shader\ Lang:sl
SynMenu R-Sg.Renderman.Renderman\ Interface\ Bytestream:rib
SynMenu R-Sg.Resolv\.conf:resolv
SynMenu R-Sg.Reva\ Forth:reva
SynMenu R-Sg.Rexx:rexx
SynMenu R-Sg.Robots\.txt:robots
SynMenu R-Sg.RockLinux\ package\ desc\.:desc
SynMenu R-Sg.Rpcgen:rpcgen
SynMenu R-Sg.RPL/2:rpl
SynMenu R-Sg.ReStructuredText:rst
SynMenu R-Sg.RTF:rtf
SynMenu R-Sg.Ruby:ruby
SynMenu R-Sg.S-Lang:slang
SynMenu R-Sg.Samba\ config:samba
SynMenu R-Sg.SAS:sas
SynMenu R-Sg.Sather:sather
SynMenu R-Sg.Scheme:scheme
SynMenu R-Sg.Scilab:scilab
SynMenu R-Sg.Screen\ RC:screen
SynMenu R-Sg.SDL:sdl
SynMenu R-Sg.Sed:sed
SynMenu R-Sg.Sendmail\.cf:sm
SynMenu R-Sg.Send-pr:sendpr
SynMenu R-Sg.Sensors\.conf:sensors
SynMenu R-Sg.Service\ Location\ config:slpconf
SynMenu R-Sg.Service\ Location\ registration:slpreg
SynMenu R-Sg.Service\ Location\ SPI:slpspi
SynMenu R-Sg.Services:services
SynMenu R-Sg.Setserial\ config:setserial
SynMenu R-Sg.SGML.SGML\ catalog:catalog
SynMenu R-Sg.SGML.SGML\ DTD:sgml
SynMenu R-Sg.SGML.SGML\ Declaration:sgmldecl
SynMenu R-Sg.SGML.SGML-linuxdoc:sgmllnx
SynMenu Sh-S.Shell\ script.sh\ and\ ksh:sh
SynMenu Sh-S.Shell\ script.csh:csh
SynMenu Sh-S.Shell\ script.tcsh:tcsh
SynMenu Sh-S.Shell\ script.zsh:zsh
SynMenu Sh-S.SiCAD:sicad
SynMenu Sh-S.Sieve:sieve
SynMenu Sh-S.Simula:simula
SynMenu Sh-S.Sinda.Sinda\ compare:sindacmp
SynMenu Sh-S.Sinda.Sinda\ input:sinda
SynMenu Sh-S.Sinda.Sinda\ output:sindaout
SynMenu Sh-S.SiSU:sisu
SynMenu Sh-S.SKILL.SKILL:skill
SynMenu Sh-S.SKILL.SKILL\ for\ Diva:diva
SynMenu Sh-S.Slice:slice
SynMenu Sh-S.SLRN.Slrn\ rc:slrnrc
SynMenu Sh-S.SLRN.Slrn\ score:slrnsc
SynMenu Sh-S.SmallTalk:st
SynMenu Sh-S.Smarty\ Templates:smarty
SynMenu Sh-S.SMIL:smil
SynMenu Sh-S.SMITH:smith
SynMenu Sh-S.SNMP\ MIB:mib
SynMenu Sh-S.SNNS.SNNS\ network:snnsnet
SynMenu Sh-S.SNNS.SNNS\ pattern:snnspat
SynMenu Sh-S.SNNS.SNNS\ result:snnsres
SynMenu Sh-S.Snobol4:snobol4
SynMenu Sh-S.Snort\ Configuration:hog
SynMenu Sh-S.SPEC\ (Linux\ RPM):spec
SynMenu Sh-S.Specman:specman
SynMenu Sh-S.Spice:spice
SynMenu Sh-S.Spyce:spyce
SynMenu Sh-S.Speedup:spup
SynMenu Sh-S.Splint:splint
SynMenu Sh-S.Squid\ config:squid
SynMenu Sh-S.SQL.ESQL-C:esqlc
SynMenu Sh-S.SQL.MySQL:mysql
SynMenu Sh-S.SQL.PL/SQL:plsql
SynMenu Sh-S.SQL.SQL\ Anywhere:sqlanywhere
SynMenu Sh-S.SQL.SQL\ (automatic):sql
SynMenu Sh-S.SQL.SQL\ (Oracle):sqloracle
SynMenu Sh-S.SQL.SQL\ Forms:sqlforms
SynMenu Sh-S.SQL.SQLJ:sqlj
SynMenu Sh-S.SQL.SQL-Informix:sqlinformix
SynMenu Sh-S.SQR:sqr
SynMenu Sh-S.Ssh.ssh_config:sshconfig
SynMenu Sh-S.Ssh.sshd_config:sshdconfig
SynMenu Sh-S.Standard\ ML:sml
SynMenu Sh-S.Stata.SMCL:smcl
SynMenu Sh-S.Stata.Stata:stata
SynMenu Sh-S.Stored\ Procedures:stp
SynMenu Sh-S.Strace:strace
SynMenu Sh-S.Streaming\ descriptor\ file:sd
SynMenu Sh-S.Subversion\ commit:svn
SynMenu Sh-S.Sudoers:sudoers
SynMenu Sh-S.Symbian\ meta-makefile:mmp
SynMenu Sh-S.Sysctl\.conf:sysctl
SynMenu TUV.TADS:tads
SynMenu TUV.Tags:tags
SynMenu TUV.TAK.TAK\ compare:takcmp
SynMenu TUV.TAK.TAK\ input:tak
SynMenu TUV.TAK.TAK\ output:takout
SynMenu TUV.Tcl/Tk:tcl
SynMenu TUV.TealInfo:tli
SynMenu TUV.Telix\ Salt:tsalt
SynMenu TUV.Termcap/Printcap:ptcap
SynMenu TUV.Terminfo:terminfo
SynMenu TUV.TeX.TeX/LaTeX:tex
SynMenu TUV.TeX.plain\ TeX:plaintex
SynMenu TUV.TeX.ConTeXt:context
SynMenu TUV.TeX.TeX\ configuration:texmf
SynMenu TUV.TeX.Texinfo:texinfo
SynMenu TUV.TF\ mud\ client:tf
SynMenu TUV.Tidy\ configuration:tidy
SynMenu TUV.Tilde:tilde
SynMenu TUV.TPP:tpp
SynMenu TUV.Trasys\ input:trasys
SynMenu TUV.Trustees:trustees
SynMenu TUV.TSS.Command\ Line:tsscl
SynMenu TUV.TSS.Geometry:tssgm
SynMenu TUV.TSS.Optics:tssop
SynMenu TUV.Udev\ config:udevconf
SynMenu TUV.Udev\ permissions:udevperm
SynMenu TUV.Udev\ rules:udevrules
SynMenu TUV.UIT/UIL:uil
SynMenu TUV.UnrealScript:uc
SynMenu TUV.Updatedb\.conf:updatedb
SynMenu TUV.Valgrind:valgrind
SynMenu TUV.Vera:vera
SynMenu TUV.Verilog-AMS\ HDL:verilogams
SynMenu TUV.Verilog\ HDL:verilog
SynMenu TUV.Vgrindefs:vgrindefs
SynMenu TUV.VHDL:vhdl
SynMenu TUV.Vim.Vim\ help\ file:help
SynMenu TUV.Vim.Vim\ script:vim
SynMenu TUV.Vim.Viminfo\ file:viminfo
SynMenu TUV.Virata\ config:virata
SynMenu TUV.Visual\ Basic:vb
SynMenu TUV.VOS\ CM\ macro:voscm
SynMenu TUV.VRML:vrml
SynMenu TUV.VSE\ JCL:vsejcl
SynMenu WXYZ.WEB.CWEB:cweb
SynMenu WXYZ.WEB.WEB:web
SynMenu WXYZ.WEB.WEB\ Changes:change
SynMenu WXYZ.Webmacro:webmacro
SynMenu WXYZ.Website\ MetaLanguage:wml
SynMenu WXYZ.wDiff:wdiff
SynMenu WXYZ.Wget\ config:wget
SynMenu WXYZ.Whitespace\ (add):whitespace
SynMenu WXYZ.WildPackets\ EtherPeek\ Decoder:dcd
SynMenu WXYZ.WinBatch/Webbatch:winbatch
SynMenu WXYZ.Windows\ Scripting\ Host:wsh
SynMenu WXYZ.WSML:wsml
SynMenu WXYZ.WvDial:wvdial
SynMenu WXYZ.X\ Keyboard\ Extension:xkb
SynMenu WXYZ.X\ Pixmap:xpm
SynMenu WXYZ.X\ Pixmap\ (2):xpm2
SynMenu WXYZ.X\ resources:xdefaults
SynMenu WXYZ.XBL:xbl
SynMenu WXYZ.Xinetd\.conf:xinetd
SynMenu WXYZ.Xmodmap:xmodmap
SynMenu WXYZ.Xmath:xmath
SynMenu WXYZ.XML:xml
SynMenu WXYZ.XML\ Schema\ (XSD):xsd
SynMenu WXYZ.XQuery:xquery
SynMenu WXYZ.Xslt:xslt
SynMenu WXYZ.XFree86\ Config:xf86conf
SynMenu WXYZ.YAML:yaml
SynMenu WXYZ.Yacc:yacc
call append(s:lnum, "")
wq

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 B

BIN
runtime/tutor/src.info Executable file

Binary file not shown.

View File

@@ -0,0 +1,815 @@
===============================================================================
= Κ αλ ω σ ή ρ θ α τ ε σ τ ο V I M T u t o r - Έκδοση 1.5 =
===============================================================================
Ο Vim είναι ένας πανίσχυρος συντάκτης που έχει πολλές εντολές, πάρα
πολλές για να εξηγήσουμε σε μία περιήγηση όπως αυτή. Αυτή η περιήγηση
σχεδιάστηκε για να περιγράψει ικανοποιητικά τις εντολές που θα σας
κάνουν να χρησιμοποιείτε εύκολα τον Vim σαν έναν γενικής χρήσης συντάκτη.
Ο κατά προσέγγιση χρόνος που απαιτείται για να ολοκληρώσετε την περιήγηση
είναι 25-30 λεπτά, εξαρτώντας από το πόσο χρόνο θα ξοδέψετε για
πειραματισμούς.
Οι εντολές στα μαθήματα θα τροποποιήσουν το κείμενο. Δημιουργήστε ένα
αντίγραφο αυτού του αρχείου για να εξασκηθείτε (αν ξεκινήσατε το
"Vimtutor" αυτό είναι ήδη ένα αντίγραφο).
Είναι σημαντικό να θυμάστε ότι αυτή η περιήγηση είναι οργανωμένη έτσι
ώστε να διδάσκει μέσω της χρήσης. Αυτό σημαίνει ότι χρειάζεται να
εκτελείτε τις εντολές για να τις μάθετε σωστά. Αν διαβάζετε μόνο το
κείμενο, θα τις ξεχάσετε!
Τώρα, βεβαιωθείτε ότι το πλήκτρο Shift-Lock ΔΕΝ είναι πατημένο και
πατήστε το πλήκτρο j αρκετές φορές για να μετακινήσετε τον δρομέα έτσι
ώστε το Μάθημα 1.1 να γεμίσει πλήρως την οθόνη.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 1.1: ΜΕΤΑΚΙΝΟΝΤΑΣ ΤΟΝ ΔΡΟΜΕΑ
** Για να κινήσετε τον δρομέα, πατήστε τα πλήκτρα h,j,k,l όπως δείχνεται. **
^
k Hint: Το πλήκτρο h είναι αριστερά και κινεί στ' αριστερά.
< h l > Το πλήκτρο l είναι δεξιά και κινεί στα δεξιά.
j Το πλήκτρο j μοιάζει με βελάκι προς τα κάτω.
v
1. Μετακινείστε τον δρομέα τριγύρω στην οθόνη μέχρι να νοιώθετε άνετα.
2. Κρατήστε πατημένο το κάτω πλήκτρο (j) μέχρι να επαναληφθεί.
---> Τώρα ξέρετε πώς να μετακινηθείτε στο επόμενο μάθημα.
3. Χρησιμοποιώντας το κάτω πλήκτρο, μετακινηθείτε στο Μάθημα 1.2.
Σημείωση: Αν αμφιβάλλετε για κάτι που πατήσατε, πατήστε <ESC> για να βρεθείτε
στην Κανονική Κατάσταση. Μετά πατήστε ξανά την εντολή που θέλατε.
Σημείωση: Τα πλήκτρα του δρομέα θα πρέπει επίσης να δουλεύουν. Αλλά με τα hjkl
θα μπορείτε να κινηθείτε πολύ γρηγορότερα, μόλις τα συνηθίσετε.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 1.2: ΜΠΑΙΝΟΝΤΑΣ ΚΑΙ ΒΓΑΙΝΟΝΤΑΣ ΣΤΟΝ VIM
!! ΣΗΜΕΙΩΣΗ: Πριν εκτελέσετε κάποιο από τα βήματα, διαβάστε όλο το μάθημα!!
1. Πατήστε το πλήκτρο <ESC> (για να είστε σίγουρα στην Κανονική Κατάσταση).
2. Πληκτρολογήστε: :q! <ENTER>.
---> Αυτό εξέρχεται από τον συντάκτη ΧΩΡΙΣ να σώσει όποιες αλλαγές έχετε κάνει.
Αν θέλετε να σώσετε τις αλλαγές και να εξέρθετε πληκτρολογήστε:
:wq <ENTER>
3. Όταν δείτε την προτροπή του φλοιού, πληκτρολογήστε την εντολή με την οποία
μπήκατε σε αυτήν την περιήγηση. Μπορεί να είναι: vimtutor <ENTER>
Κανονικά θα χρησιμοποιούσατε: vim tutor <ENTER>
---> 'vim' σημαίνει εισαγωγή στον συντάκτη vim, 'tutor' είναι το αρχείο που
θέλουμε να διορθώσουμε.
4. Αν έχετε απομνημονεύσει αυτά τα βήματα και έχετε αυτοπεποίθηση, εκτελέστε
τα βήματα 1 έως 3 για να βγείτε και να μπείτε ξανά στον συντάκτη. Μετά
μετακινήστε τον δρομέα κάτω στο Μάθημα 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 1.3: ΔΙΟΡΘΩΣΗ ΚΕΙΜΕΝΟΥ - ΔΙΑΓΡΑΦΗ
** Όσο είστε στην Κανονική Κατάσταση πατήστε x για να διαγράψετε τον
χαρακτήρα κάτω από τον δρομέα. **
1. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->.
2. Για να διορθώσετε τα λάθη, κινείστε τον δρομέα μέχρι να είναι πάνω από
τον χαρακτήρα που θα διαγραφεί.
3. Πατήστε το πλήκτρο x για να διαγράψετε τον ανεπιθύμητο χαρακτήρα.
4. Επαναλάβετε τα βήματα 2 μέχρι 4 μέχρι η πρόταση να είναι σωστή.
---> The ccow jumpedd ovverr thhe mooon.
5. Τώρα που η γραμμή είναι σωστή, πηγαίντε στο Μάθημα 1.4.
ΣΗΜΕΙΩΣΗ: Καθώς διατρέχετε αυτήν την περιήγηση, προσπαθήστε να μην
απομνημονεύετε, μαθαίνετε με τη χρήση.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 1.4: ΔΙΟΡΘΩΣΗ ΚΕΙΜΕΝΟΥ - ΠΑΡΕΜΒΟΛΗ
** Όσο είστε σε Κανονική Κατάσταση πατήστε i για να παρεμβάλλετε κείμενο. **
1. Μετακινείστε τον δρομέα μέχρι την πρώτη γραμμή παρακάτω σημειωμένη με --->.
2. Για να κάνετε την πρώτη γραμμή ίδια με την δεύτερη, μετακινείστε τον
δρομέα πάνω στον πρώτο χαρακτήρα ΜΕΤΑ από όπου θα παρεμβληθεί το κείμενο.
3. Πατήστε το i και πληκτρολογήστε τις απαραίτητες προσθήκες.
4. Καθώς διορθώνετε κάθε λάθος πατήστε <ESC> για να επιστρέψετε στην
Κανονική Κατάσταση. Επαναλάβετε τα βήματα 2 μέχρι 4 για να διορθώσετε
την πρόταση.
---> There is text misng this .
---> There is some text missing from this line.
5. Όταν είστε άνετοι με την παρεμβολή κειμένου μετακινηθείτε στην
παρακάτω περίληψη.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ΜΑΘΗΜΑ 1 ΠΕΡΙΛΗΨΗ
1. Ο δρομέας κινείται χρησιμοποιώντας είτε τα πλήκτρα δρομέα ή τα hjkl.
h (αριστέρα) j (κάτω) k (πάνω) l (δεξιά)
2. Για να μπείτε στον Vim (από την προτροπή %) γράψτε: vim ΑΡΧΕΙΟ <ENTER>
3. Για να βγείτε γράψτε: <ESC> :q! <ENTER> για απόρριψη των αλλαγών.
Ή γράψτε: <ESC> :wq <ENTER> για αποθήκευση των αλλαγών.
4. Για να διαγράψετε έναν χαρακτήρα κάτω από τον δρομέα σε
Κανονική Κατάσταση πατήστε: x
5. Για να εισάγετε κείμενο στον δρομέα όσο είστε σε Κανονική Κατάσταση γράψτε:
i πληκτρολογήστε το κείμενο <ESC>
ΣΗΜΕΙΩΣΗ: Πατώντας <ESC> θα τοποθετηθείτε στην Κανονική Κατάσταση ή θα
ακυρώσετε μία ανεπιθύμητη και μερικώς ολοκληρωμένη εντολή.
Τώρα συνεχίστε με το Μάθημα 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 2.1: ΕΝΤΟΛΕΣ ΔΙΑΓΡΑΦΗΣ
** Γράψτε dw για να διαγράψετε μέχρι το τέλος μίας λέξης. **
1. Πατήστε <ESC> για να βεβαιωθείτε ότι είστε στην Κανονική Κατάσταση.
2. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->.
3. Πηγαίνετε τον δρομέα στην αρχή της λέξης που πρέπει να διαγραφεί.
4. Γράψτε dw για να κάνετε την λέξη να εξαφανιστεί.
ΣΗΜΕΙΩΣΗ: Τα γράμματα dw θα εμφανιστούν στην τελευταία γραμμή της οθόνης όσο
τα πληκτρολογείτε. Αν γράψατε κάτι λάθος, πατήστε <ESC> και
ξεκινήστε από την αρχή.
---> There are a some words fun that don't belong paper in this sentence.
5. Επαναλάβετε τα βήματα 3 και 4 μέχρι η πρόταση να είναι σωστή και
πηγαίνετε στο Μάθημα 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 2.2: ΠΕΡΙΣΣΟΤΕΡΕΣ ΕΝΤΟΛΕΣ ΔΙΑΓΡΑΦΗΣ
** Πληκτρολογήστε d$ για να διαγράψετε μέχρι το τέλος της γραμμής. **
1. Πατήστε <ESC> για να βεβαιωθείτε ότι είστε στην Κανονική Κατάσταση.
2. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->.
3. Μετακινείστε τον δρομέα στο τέλος της σωστής γραμμής (ΜΕΤΑ την πρώτη . ).
4. Πατήστε d$ για να διαγράψετε μέχρι το τέλος της γραμμής.
---> Somebody typed the end of this line twice. end of this line twice.
5. Πηγαίνετε στο Μάθημα 2.3 για να καταλάβετε τι συμβαίνει.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 2.3: ΠΕΡΙ ΕΝΤΟΛΩΝ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΩΝ
Η μορφή της εντολής διαγραφής d είναι ως εξής:
[αριθμός] d αντικείμενο Ή d [αριθμός] αντικείμενο
Όπου:
αριθμός - πόσες φορές θα εκτελεστεί η εντολή (προαιρετικό, εξ' ορισμού=1).
d - η εντολή της διαγραφής.
αντικείμενο - πάνω σε τι θα λειτουργήσει η εντολή (παρακάτω λίστα).
Μία μικρή λίστα από αντικείμενα:
w - από τον δρομέα μέχρι το τέλος της λέξης, περιλαμβάνοντας το διάστημα.
e - από τον δρομέα μέχρι το τέλος της λέξης, ΧΩΡΙΣ το διάστημα.
$ - από τον δρομέα μέχρι το τέλος της γραμμής.
ΣΗΜΕΙΩΣΗ: Για τους τύπους της περιπέτειας, πατώντας απλώς το αντικείμενο όσο
είστε στην Κανονική Κατάσταση χωρίς κάποια εντολή θα μετακινήσετε
τον δρομέα όπως καθορίζεται στην λίστα αντικειμένων.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 2.4: ΜΙΑ ΕΞΑΙΡΕΣΗ ΣΤΗΝ 'ΕΝΤΟΛΗ-ΑΝΤΙΚΕΙΜΕΝΟ'
** Πληκτρολογήστε dd για να διαγράψετε όλη τη γραμμή. **
Εξαιτίας της συχνότητας της διαγραφής ολόκληρης γραμμής, οι σχεδιαστές
του Vim αποφάσισαν ότι θα ήταν ευκολότερο να γράφετε απλώς δύο d στη
σειρά για να διαγράψετε μία γραμμή.
1. Μετακινείστε τον δρομέα στη δεύτερη γραμμή της παρακάτω φράσης.
2. Γράψτε dd για να διαγράψετε τη γραμμή.
3. Τώρα μετακινηθείτε στην τέταρτη γραμμή.
4. Γράψτε 2dd (θυμηθείτε αριθμός-εντολή-αντικείμενο) για να
διαγράψετε δύο γραμμές.
1) Roses are red,
2) Mud is fun,
3) Violets are blue,
4) I have a car,
5) Clocks tell time,
6) Sugar is sweet
7) And so are you.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 2.5: Η ΕΝΤΟΛΗ ΑΝΑΙΡΕΣΗΣ
** Πατήστε u για να αναιρέσετε τις τελευταίες εντολές,
U για να διορθώσετε όλη τη γραμμή. **
1. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με ---> και
τοποθετήστε τον πάνω στο πρώτο λάθος.
2. Πατήστε x για να διαγράψετε τον πρώτο ανεπιθύμητο χαρακτήρα.
3. Τώρα πατήστε u για να αναιρέσετε την τελευταία εκτελεσμένη εντολή.
4. Αυτή τη φορά διορθώστε όλα τα λάθη στη γραμμή χρησιμοποιώντας την εντολή x.
5. Τώρα πατήστε ένα κεφαλαίο U για να επιστρέψετε τη γραμμή στην αρχική
της κατάσταση.
6. Τώρα πατήστε u μερικές φορές για να αναιρέσετε την U και
προηγούμενες εντολές.
7. Τώρα πατήστε CTRL-R (κρατώντας πατημένο το πλήκτρο CTRL καθώς πατάτε το R)
μερικές φορές για να επαναφέρετε τις εντολές (αναίρεση των αναιρέσεων).
---> Fiix the errors oon thhis line and reeplace them witth undo.
8. Αυτές είναι πολύ χρήσιμες εντολές. Τώρα πηγαίνετε στην
Περίληψη του Μαθήματος 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ΜΑΘΗΜΑ 2 ΠΕΡΙΛΗΨΗ
1. Για να διαγράψετε από τον δρομέα μέχρι το τέλος λέξης γράψτε: dw
2. Για να διαγράψετε από τον δρομέα μέχρι το τέλος γραμμής γράψτε: d$
3. Για να διαγράψετε ολόκληρη τη γραμμή γράψτε: dd
4. Η μορφή για μία εντολή στην Κανονική Κατάσταση είναι:
[αριθμός] εντολή αντικείμενο Ή εντολή [αριθμός] αντικείμενο
όπου:
αριθμός - πόσες φορές να επαναληφθεί η εντολή
εντολή - τι να γίνει, όπως η d για διαγραφή
αντικείμενο - πάνω σε τι να ενεργήσει η εντολή, όπως w (λέξη),
$ (τέλος της γραμμής), κτλ.
5. Για να αναιρέσετε προηγούμενες ενέργειες, πατήστε: u (πεζό u)
Για να αναιρέσετε όλες τις αλλαγές στη γραμμή, πατήστε: U (κεφαλαίο U)
Για να αναιρέσετε τις αναιρέσεις, πατήστε: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 3.1: Η ΕΝΤΟΛΗ ΤΟΠΟΘΕΤΗΣΗΣ
** Πατήστε p για να τοποθετήσετε την τελευταία διαγραφή μετά τον δρομέα. **
1. Μετακινείστε τον δρομέα στην πρώτη γραμμή της παρακάτω ομάδας.
2. Πατήστε dd για να διαγράψετε τη γραμμή και να την αποθηκεύσετε σε
προσωρινή μνήμη του Vim.
3. Μετακινείστε τον δρομέα στη γραμμή ΠΑΝΩ από εκεί που θα πρέπει να πάει
η διαγραμμένη γραμμή.
4. Όσο είστε σε Κανονική Κατάσταση, πατήστε p για να βάλετε τη γραμμή.
5. Επαναλάβετε τα βήματα 2 έως 4 για να βάλετε όλες τις γραμμές στη
σωστή σειρά.
d) Can you learn too?
b) Violets are blue,
c) Intelligence is learned,
a) Roses are red,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 3.2: Η ΕΝΤΟΛΗ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ
** Πατήστε r και χαρακτήρα για να αλλάξετε αυτόν που είναι
κάτω από τον δρομέα. **
1. Μετακινείστε τον δρομέα στην πρώτη γραμμή παρακάτω σημειωμένη με --->.
2. Μετακινείστε τον δρομέα έτσι ώστε να είναι πάνω στο πρώτο λάθος.
3. Πατήστε r και μετά τον χαρακτήρα ο οποίος διορθώνει το λάθος.
4. Επαναλάβετε τα βήματα 2 και 3 μέχρι να είναι σωστή η πρώτη γραμμή.
---> Whan this lime was tuoed in, someone presswd some wrojg keys!
---> When this line was typed in, someone pressed some wrong keys!
5. Τώρα πηγαίνετε στο Μάθημα 3.2.
ΣΗΜΕΙΩΣΗ: Να θυμάστε ότι πρέπει να μαθαίνετε με τη χρήση, και όχι με
την απομνημόνευση.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 3.3: Η ΕΝΤΟΛΗ ΑΛΛΑΓΗΣ
** Για να αλλάξετε τμήμα ή όλη τη λέξη, πατήστε cw . **
1. Μετακινείστε τον δρομέα στην πρώτη γραμμή παρακάτω σημειωμένη με --->.
2. Τοποθετήστε τον δρομέα πάνω στο u της λέξης lubw.
3. Πατήστε cw και τη σωστή λέξη (στην περίπτωση αυτή, γράψτε 'ine'.)
4. Πατήστε <ESC> και πηγαίνετε στο επόμενο λάθος (στον πρώτο
χαρακτήρα προς αλλαγή).
5. Επαναλάβετε τα βήματα 3 και 4 μέχρις ότου η πρώτη πρόταση να είναι
ίδια με τη δεύτερη.
---> 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.
Παρατηρείστε ότι η cw όχι μόνο αντικαθιστάει τη λέξη, αλλά σας εισάγει
επίσης σε παρεμβολή.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 3.4: ΠΕΡΙΣΣΟΤΕΡΕΣ ΑΛΛΑΓΕΣ ΜΕ c
** Η εντολή αλλαγής χρησιμοποιείται με τα ίδια αντικείμενα της διαγραφής. **
1. Η εντολή αλλαγής δουλεύει με τον ίδιο τρόπο όπως η διαγραφή. Η μορφή είναι:
[αριθμός] c αντικείμενο Ή c [αριθμός] αντικείμενο
2. Τα αντικείμενα είναι πάλι τα ίδια, όπως w (λέξη), $ (τέλος γραμμής), κτλ.
3. Μετακινηθείτε στην πρώτη γραμμή παρακάτω σημειωμένη με --->.
4. Μετακινείστε τον δρομέα στο πρώτο λάθος.
5. Γράψτε c$ για να κάνετε το υπόλοιπο της γραμμής ίδιο με τη δεύτερη
και πατήστε <ESC>.
---> The end of this line needs some help to make it like the second.
---> The end of this line needs to be corrected using the c$ command.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ΜΑΘΗΜΑ 3 ΠΕΡΙΛΗΨΗ
1. Για να τοποθετήσετε κείμενο που μόλις έχει διαγραφεί, πατήστε p .
Αυτό τοποθετεί το διαγραμμένο κείμενο ΜΕΤΑ τον δρομέα (αν διαγράφτηκε
γραμμή θα πάει μετά στη γραμμή κάτω από τον δρομέα.
2. Για να αντικαταστήσετε τον χαρακτήρα κάτω από τον δρομέα, πατήστε r
και μετά τον χαρακτήρα που θα αντικαταστήσει τον αρχικό.
3. Η εντολή αλλαγής σας επιτρέπει να αλλάξετε το καθορισμένο αντικείμενο
από τον δρομέα μέχρι το τέλος του αντικείμενο. Π.χ. γράψτε cw για να
αλλάξετε από τον δρομέα μέχρι το τέλος της λέξης, c$ για να αλλάξετε
μέχρι το τέλος γραμμής.
4. Η μορφή για την αλλαγή είναι:
[αριθμός] c αντικείμενο Ή c [αριθμός] αντικείμενο
Τώρα συνεχίστε με το επόμενο μάθημα.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 4.1: ΘΕΣΗ ΚΑΙ ΚΑΤΑΣΤΑΣΗ ΑΡΧΕΙΟΥ
** Πατήστε CTRL-g για να εμφανιστεί η θέση σας στο αρχείο και η κατάστασή του.
Πατήστε SHIFT-G για να πάτε σε μία γραμμή στο αρχείο. **
Σημείωση: Διαβάστε ολόκληρο το μάθημα πριν εκτελέσετε κάποιο από τα βήματα!!
1. Κρατήστε πατημένο το πλήκτρο Ctrl και πατήστε g . Μία γραμμή κατάστασης
θα εμφανιστεί στο κάτω μέρος της σελίδας με το όνομα αρχείου και τη
γραμμή που είστε. Θυμηθείτε τον αριθμό γραμμής για το Βήμα 3.
2. Πατήστε shift-G για να μετακινηθείτε στο τέλος του αρχείου.
3. Πατήστε τον αριθμό της γραμμής που ήσασταν και μετά shift-G. Αυτό θα
σας επιστρέψει στη γραμμή που ήσασταν πριν πατήσετε για πρώτη φορά Ctrl-g.
(Όταν πληκτρολογείτε τους αριθμούς, ΔΕΝ θα εμφανίζονται στην οθόνη).
4. Αν νοιώθετε σίγουρος για αυτό, εκτελέστε τα βήματα 1 έως 3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 4.2: Η ΕΝΤΟΛΗ ΑΝΑΖΗΤΗΣΗΣ
** Πατήστε / ακολουθούμενο από τη φράση που ψάχνετε. **
1. Σε Κανονική Κατάσταση πατήστε τον χαρακτήρα / . Παρατηρήστε ότι αυτός και
ο δρομέας εμφανίζονται στο κάτω μέρος της οθόνης όπως με την εντολή : .
2. Τώρα γράψτε 'errroor' <ENTER>. Αυτή είναι η λέξη που θέλετε να ψάξετε.
3. Για να ψάξετε ξανά για την ίδια φράση, πατήστε απλώς n .
Για να ψάξετε την ίδια φράση στην αντίθετη κατεύθυνση, πατήστε Shift-N .
4. Αν θέλετε να ψάξετε για μία φράση προς τα πίσω, χρησιμοποιήστε την εντολή ? αντί της / .
---> Όταν η αναζήτηση φτάσει στο τέλος του αρχείου θα συνεχίσει από την αρχή.
"errroor" is not the way to spell error; errroor is an error.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 4.3: ΕΥΡΕΣΗ ΤΑΙΡΙΑΣΤΩΝ ΠΑΡΕΝΘΕΣΕΩΝ
** Πατήστε % για να βρείτε την αντίστοιχη ), ], ή } . **
1. Τοποθετήστε τον δρομέα σε κάποια (, [, ή { στην παρακάτω γραμμή
σημειωμένη με --->.
2. Τώρα πατήστε τον χαρακτήρα % .
3. Ο δρομέας θα πρέπει να είναι στην αντίστοιχη παρένθεση ή αγκύλη.
4. Πατήστε % για να μετακινήσετε τον δρομέα πίσω στην πρώτη αγκύλη
(του ζευγαριού).
---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
ΣΗΜΕΙΩΣΗ: Αυτό είναι πολύ χρήσιμο στην αποσφαλμάτωση ενός προγράμματος
με μη ταιριαστές παρενθέσεις!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 4.4: ΕΝΑΣ ΤΡΟΠΟΣ ΓΙΑ ΑΛΛΑΓΗ ΛΑΘΩΝ
** Γράψτε :s/old/new/g για να αλλάξετε το 'new' με το 'old'. **
1. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->.
2. Γράψτε :s/thee/the <ENTER> . Σημειώστε ότι αυτή η εντολή αλλάζει μόνο
την πρώτη εμφάνιση στη γραμμή.
3. Τώρα γράψτε :s/thee/the/g εννοώντας γενική αντικατάσταση στη
γραμμή. Αυτό αλλάζει όλες τις εμφανίσεις επί της γραμμής.
---> thee best time to see thee flowers is in thee spring.
4. Για να αλλάξετε κάθε εμφάνιση μίας συμβολοσειράς μεταξύ δύο γραμμών,
γράψτε :#,#s/old/new/g όπου #,# οι αριθμοί των δύο γραμμών.
Γράψτε :%s/old/new/g για να αλλάξετε κάθε εμφάνιση σε όλο το αρχείο.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ΜΑΘΗΜΑ 4 ΠΕΡΙΛΗΨΗ
1. Το Ctrl-g εμφανίζει τη θέση σας στο αρχείο και την κατάστασή του.
Το Shift-G πηγαίνει στο τέλος του αρχείου. Ένας αριθμός γραμμής
ακολουθούμενος από Shift-G πηγαίνει σε εκείνη τη γραμμή.
2. Γράφοντας / ακολουθούμενο από μία φράση ψάχνει προς τα ΜΠΡΟΣΤΑ για
τη φράση. Γράφοντας ? ακολουθούμενο από μία φράση ψάχνει προς τα ΠΙΣΩ
για τη φράση. Μετά από μία αναζήτηση πατήστε n για να βρείτε την
επόμενη εμφάνιση προς την ίδια κατεύθυνση ή Shift-N για να ψάξετε
προς την αντίθετη κατεύθυνση.
3. Πατώντας % όσο ο δρομέας είναι πάνω σε μία (,),[,],{, ή } εντοπίζει
το αντίστοιχο ταίρι του ζευγαριού.
4. Για αντικατάσταση με new του πρώτου old στη γραμμή γράψτε :s/old/new
Για αντικατάσταση με new όλων των 'old' στη γραμμή γράψτε :s/old/new/g
Για αντικατάσταση φράσεων μεταξύ δύο # γραμμών γράψτε :#,#s/old/new/g
Για αντικατάσταση όλων των εμφανίσεων στο αρχείο γράψτε :%s/old/new/g
Για ερώτηση επιβεβαίωσης κάθε φορά προσθέστε ένα 'c' "%s/old/new/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 5.1: ΠΩΣ ΕΚΤΕΛΩ ΜΙΑ ΕΞΩΤΕΡΙΚΗ ΕΝΤΟΛΗ
** Γράψτε :! ακολουθούμενο από μία εξωτερική εντολή για να την εκτελέσετε. **
1. Πατήστε την οικεία εντολή : για να θέσετε τον δρομέα στο κάτω μέρος
της οθόνης. Αυτό σας επιτρέπει να δώσετε μία εντολή.
2. Τώρα πατήστε το ! (θαυμαστικό). Αυτό σας επιτρέπει να εκτελέσετε
οποιαδήποτε εξωτερική εντολή του φλοιού.
3. Σαν παράδειγμα γράψτε ls μετά από το ! και πατήστε <ENTER>. Αυτό θα
σας εμφανίσει μία λίστα του καταλόγου σας, ακριβώς σαν να ήσασταν στην
προτροπή του φλοιού. Ή χρησιμοποιήστε :!dir αν το ls δεν δουλεύει.
---> Σημείωση: Είναι δυνατόν να εκτελέσετε οποιαδήποτε εξωτερική εντολή
με αυτόν τον τρόπο.
---> Σημείωση: Όλες οι εντολές : πρέπει να τερματίζονται πατώντας το <ENTER>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 5.2: ΠΕΡΙΣΣΟΤΕΡΑ ΠΕΡΙ ΕΓΓΡΑΦΗΣ ΑΡΧΕΙΩΝ
** Για να σώσετε τις αλλάγες που κάνατε στο αρχείο, γράψτε :w ΑΡΧΕΙΟ. **
1. Γράψτε :!dir ή :!ls για να πάρετε μία λίστα του καταλόγου σας.
Ήδη ξέρετε ότι πρέπει να πατήσετε <ENTER> μετά από αυτό.
2. Διαλέξτε ένα όνομα αρχείου που δεν υπάρχει ακόμα, όπως το TEST.
3. Τώρα γράψτε: :w TEST (όπου TEST είναι το όνομα αρχείου που διαλέξατε).
4. Αυτό σώζει όλο το αρχείο (vim Tutor) με το όνομα TEST. Για να το
επαληθεύσετε, γράψτε ξανά :!dir για να δείτε τον κατάλογό σας.
---> Σημειώστε ότι αν βγαίνατε από τον Vim και μπαίνατε ξανά με το όνομα
αρχείου TEST, το αρχείο θα ήταν ακριβές αντίγραφο του tutor όταν το σώσατε.
5. Τώρα διαγράψτε το αρχείο γράφοντας (MS-DOS): :!del TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 5.3: ΕΠΙΛΕΚΤΙΚΗ ΕΝΤΟΛΗ ΕΓΓΡΑΦΗΣ
** Για να σώσετε τμήμα του αρχείου, γράψτε :#,# w ΑΡΧΕΙΟ **
1. Άλλη μια φορά, γράψτε :!dir ή :!ls για να πάρετε μία λίστα από τον
κατάλογό σας και διαλέξτε ένα κατάλληλο όνομα αρχείου όπως το TEST.
2. Μετακινείστε τον δρομέα στο πάνω μέρος αυτής της σελίδας και πατήστε
Ctrl-g για να βρείτε τον αριθμό αυτής της γραμμής.
ΝΑ ΘΥΜΑΣΤΕ ΑΥΤΟΝ ΤΟΝ ΑΡΙΘΜΟ!
3. Τώρα πηγαίνετε στο κάτω μέρος της σελίδας και πατήστε Ctrl-g ξανά.
ΝΑ ΘΥΜΑΣΤΕ ΚΑΙ ΑΥΤΟΝ ΤΟΝ ΑΡΙΘΜΟ!
4. Για να σώσετε ΜΟΝΟ ένα τμήμα σε αρχείο, γράψτε :#,# w TEST
όπου #,# οι δύο αριθμοί που απομνημονεύσατε (πάνω,κάτω) και TEST το
όνομα του αρχείου σας.
5. Ξανά, δείτε ότι το αρχείο είναι εκεί με την :!dir αλλά ΜΗΝ το διαγράψετε.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 5.4: ΑΝΑΚΤΩΝΤΑΣ ΚΑΙ ΕΝΩΝΟΝΤΑΣ ΑΡΧΕΙΑ
** Για να εισάγετε τα περιεχόμενα ενός αρχείου, γράψτε :r ΑΡΧΕΙΟ **
1. Γράψτε :!dir για να βεβαιωθείτε ότι το TEST υπάρχει από πριν.
2. Τοποθετήστε τον δρομέα στο πάνω μέρος της σελίδας.
ΣΗΜΕΙΩΣΗ: Αφότου εκτελέσετε το Βήμα 3 θα δείτε το Μάθημα 5.3.
Μετά κινηθείτε ΚΑΤΩ ξανά προς το μάθημα αυτό.
3. Τώρα ανακτήστε το αρχείο σας TEST χρησιμοποιώντας την εντολή :r TEST
όπου TEST είναι το όνομα του αρχείου.
ΣΗΜΕΙΩΣΗ: Το αρχείο που ανακτάτε τοποθετείται ξεκινώντας εκεί που βρίσκεται
ο δρομέας.
4. Για να επαληθεύσετε ότι το αρχείο ανακτήθηκε, πίσω τον δρομέα και
παρατηρήστε ότι υπάρχουν τώρα δύο αντίγραφα του Μαθήματος 5.3, το
αρχικό και η έκδοση του αρχείου.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ΜΑΘΗΜΑ 5 ΠΕΡΙΛΗΨΗ
1. :!εντολή εκτελεί μία εξωτερική εντολή.
Μερικά χρήσιμα παραδείγματα είναι (MS-DOS):
:!dir - εμφάνιση λίστας ενός καταλόγου.
:!del ΑΡΧΕΙΟ - διαγράφει το ΑΡΧΕΙΟ.
2. :w ΑΡΧΕΙΟ γράφει το τρέχων αρχείο του Vim στο δίσκο με όνομα ΑΡΧΕΙΟ.
3. :#,#w ΑΡΧΕΙΟ σώζει τις γραμμές από # μέχρι # στο ΑΡΧΕΙΟ.
4. :r ΑΡΧΕΙΟ ανακτεί το αρχείο δίσκου ΑΡΧΕΙΟ και το παρεμβάλλει μέσα
στο τρέχον αρχείο μετά από τη θέση του δρομέα.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 6.1: Η ΕΝΤΟΛΗ ΑΝΟΙΓΜΑΤΟΣ
** Πατήστε o για να ανοίξετε μία γραμμή κάτω από τον δρομέα και να
βρεθείτε σε Κατάσταση Κειμένου. **
1. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->.
2. Πατήστε o (πεζό) για να ανοίξετε μία γραμμή ΚΑΤΩ από τον δρομέα και να
βρεθείτε σε Κατάσταση Κειμένου.
3. Τώρα αντιγράψτε τη σημειωμένη με ---> γραμμή και πατήστε <ESC> για να
βγείτε από την Κατάσταση Κειμένου.
---> After typing o the cursor is placed on the open line in Insert mode.
4. Για να ανοίξετε μία γραμμή ΠΑΝΩ από τον δρομέα, πατήστε απλά ένα κεφαλαίο
O, αντί για ένα πεζό o. Δοκιμάστε το στην παρακάτω γραμμή.
Ανοίγετε γραμμή πάνω από αυτήν πατώντας Shift-O όσο ο δρομέας είναι στη γραμμή
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 6.2: Η ΕΝΤΟΛΗ ΠΡΟΣΘΗΚΗΣ
** Πατήστε a για να εισάγετε κείμενο ΜΕΤΑ τον δρομέα. **
1. Μετακινείστε τον δρομέα στο τέλος της πρώτης γραμμής παρακάτω
σημειωμένη με ---> πατώντας $ στην Κανονική Κατάσταση.
2. Πατήστε ένα a (πεζό) για να προσθέσετε κείμενο ΜΕΤΑ από τον χαρακτήρα
που είναι κάτω από τον δρομέα. (Το κεφαλαίο A προσθέτει στο τέλος
της γραμμής).
Σημείωση: Αυτό αποφεύγει το πάτημα του i , τον τελευταίο χαρακτήρα, το
κείμενο της εισαγωγής, <ESC>, δρομέα-δεξιά, και τέλος, x, μόνο και
μόνο για να προσθέσετε στο τέλος της γραμμής!
3. Συμπληρώστε τώρα την πρώτη γραμμή. Σημειώστε επίσης ότι η προσθήκη είναι
ακριβώς ίδια στην Κατάσταση Κειμένου με την Κατάσταση Εισαγωγής, εκτός
από τη θέση που εισάγεται το κείμενο.
---> This line will allow you to practice
---> This line will allow you to practice appending text to the end of a line.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 6.3: ΑΛΛΗ ΕΚΔΟΣΗ ΤΗΣ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ
** Πατήστε κεφαλαίο R για να αλλάξετε περισσότερους από έναν χαρακτήρες. **
1. Μετακινείστε τον δρομέα στην πρώτη γραμμή παρακάτω σημειωμένη με --->.
2. Τοποθετήστε τον δρομέα στην αρχή της πρώτης λέξης που είναι διαφορετική
από τη δεύτερη γραμμή σημειωμένη με ---> (η λέξη 'last').
3. Πατήστε τώρα R και αλλάξτε το υπόλοιπο του κειμένου στην πρώτη γραμμή
γράφοντας πάνω από το παλιό κείμενο ώστε να κάνετε την πρώτη γραμμή ίδια
με τη δεύτερη.
---> To make the first line the same as the last on this page use the keys.
---> To make the first line the same as the second, type R and the new text.
4. Σημειώστε ότι όταν πατάτε <ESC> για να βγείτε, παραμένει οποιοδήποτε
αναλλοίωτο κείμενο.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Μάθημα 6.4: ΡΥΘΜΙΣΗ ΕΠΙΛΟΓΗΣ
** Ρυθμίστε μία επιλογή έτσι ώστε η αναζήτηση ή η αντικατάσταση να αγνοεί
τη διαφορά πεζών-κεφαλαίων **
1. Ψάξτε για 'ignore' εισάγοντας:
/ignore
Συνεχίστε αρκετές φορές πατώντας το πλήκτρο n.
2. Θέστε την επιλογή 'ic' (Ignore case) γράφοντας:
:set ic
3. Ψάξτε τώρα ξανά για 'ignore' πατώντας: n
Συνεχίστε την αναζήτηση μερικές ακόμα φορές πατώντας το πλήκτρο n
4. Θέστε τις επιλογές 'hlsearch' και 'incsearch':
:set hls is
5. Εισάγετε τώρα ξανά την εντολή αναζήτησης, και δείτε τι συμβαίνει
/ignore
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ΜΑΘΗΜΑ 6 ΠΕΡΙΛΗΨΗ
1. Πατώντας o ανοίγει μία γραμμή ΚΑΤΩ από τον δρομέα και τοποθετεί τον
δρομέα στην ανοιχτή γραμμή σε Κατάσταση Κειμένου.
2. Πατήστε a για να εισάγετε κείμενο ΜΕΤΑ τον χαρακτήρα στον οποίο είναι
ο δρομέας. Πατώντας κεφαλαίο A αυτόματα προσθέτει κείμενο στο τέλος
της γραμμής.
3. Πατώντας κεφαλαίο R εισέρχεται στην Κατάσταη Αντικατάστασης μέχρι να
πατηθεί το <ESC> και να εξέλθει.
4. Γράφοντας ":set xxx" ρυθμίζει την επιλογή "xxx".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ΜΑΘΗΜΑ 7: ON-LINE ΕΝΤΟΛΕΣ ΒΟΗΘΕΙΑΣ
** Χρησιμοποιήστε το on-line σύστημα βοήθειας **
Ο Vim έχει ένα περιεκτικό on-line σύστημα βοήθειας. Για να ξεκινήσει,
δοκιμάστε κάποιο από τα τρία:
- πατήστε το πλήκτρο <HELP> (αν έχετε κάποιο)
- πατήστε το πλήκτρο <F1> (αν έχετε κάποιο)
- γράψτε :help <ENTER>
Γράψτε :q <ENTER> για να κλείσετε το παράθυρο της βοήθειας.
Μπορείτε να βρείτε βοήθεια πάνω σε κάθε αντικείμενο, δίνοντας μία παράμετρο
στην εντολή ":help". Δοκιμάστε αυτά (μην ξεχνάτε να πατάτε <ENTER>):
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ΜΑΘΗΜΑ 8: ΔΗΜΙΟΥΡΓΗΣΤΕ ΕΝΑ SCRIPT ΕΚΚΙΝΗΣΗΣ
** Ενεργοποιήστε χαρακτηριστικά του Vim **
Ο Vim έχει πολλά περισσότερα χαρακτηριστικά απ' ό,τι ο Vi, αλλά τα
περισσότερα είναι αρχικά απενεργοποιημένα. Για να αρχίσετε να χρησιμοποιείτε
περισσότερα χαρακτηριστικά πρέπει να φτιάξετε ένα αρχείο "vimrc".
1. Αρχίστε διορθώνοντας το αρχείο "vimrc", αυτό εξαρτάται από το σύστημά σας:
:edit ~/.vimrc για Unix
:edit $VIM/_vimrc για MS-Windows
2. Τώρα εισάγετε το κείμενο παραδείγματος για αρχείο "vimrc":
:read $VIMRUNTIME/vimrc_example.vim
3. Γράψτε το αρχείο με την:
:write
Την επόμενη φορά που θα ξεκινήσετε τον Vim θα χρησιμοποιήσει φωτισμό
σύνταξης. Μπορείτε να προσθέσετε όλες τις προτιμώμενες επιλογές σ' αυτό
το αρχείο "vimrc".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Εδώ ολοκληρώνεται το Vim Tutor. Σκοπός του ήταν να δώσει μία σύντομη
περίληψη του συντάκτη Vim, τουλάχιστον τόση ώστε να σας επιτρέψει να
χρησιμοποιήσετε τον συντάκτη αρκετά εύκολα. Απέχει πολύ από μία
ολοκληρωμένη παρουσίαση καθώς ο Vim έχει πάρα πολλές εντολές. Διαβάστε
κατόπιν το εγχειρίδιο χρήσης:
":help user-manual".
Για περαιτέρω διάβασμα και μελέτη, συστήνεται αυτό το βιβλίο:
Vim - Vi Improved - by Steve Oualline
Publisher: New Riders
Το πρώτο βιβλίο πλήρως αφιερωμένο στον Vim.
Ιδιαίτερα χρήσιμο για αρχάριους.
Υπάρχουν πολλά παραδείγματα και εικόνες.
Δείτε την http://iccf-holland.org/click5.html
Αυτό το βιβλίο είναι παλιότερο και περισσότερο για τον Vi παρά για τον Vim,
αλλά επίσης συνιστώμενο:
Learning the Vi Editor - by Linda Lamb
Publisher: O'Reilly & Associates Inc.
Είναι ένα καλό βιβλίο για να μάθετε σχεδόν τα πάντα που θέλετε
να κάνετε με τον Vi.
Η έκτη έκδοση περιέχει ακόμα πληροφορίες για τον Vim.
Αυτή η περιήγηση γράφτηκε από τους Michael C. Pierce και Robert K. Ware,
Colorado School of Mines χρησιμοποιώντας ιδέες από τον Charles Smith,
Colorado State University. E-mail: bware@mines.colorado.edu.
Προσαρμογή για τον Vim από τον Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@@ -0,0 +1,823 @@
===============================================================================
= Ü d v ö z ö l j ü k a V I M T u t o r b a n - 1.5-ös verzió ===
===============================================================================
A Vim egy nagyon hatékony szerkesztő, amelnyek rengeteg utasítása
van, túl sok, hogy egy ilyen oktatóban (tutorban), mint az itteni
mindet elmagyarázzuk. Ez az oktató arra törekszik, hogy annyit
elmagyarázzon, amennyi elég, hogy könnyedén használjuk a Vim-et, az
általános célú szövegszerkesztőt.
A feladatok megoldásához 25-30 perc szükséges attól függően,
mennyit töltünk a kisérletezéssel.
A leckében szereplő utasítások módosítani fogják a szövegek.
Készítsen másolatot erről a fájlról, ha gyakorolni akar.
(Ha "vimtutor"-ral indította, akkor ez már egy másolat.)
Fontos megérteni, hogy ez az oktató cselekedve taníttat.
Ez azt jelenti, hogy Önnek ajánlott végrehajtania az utasításokat,
hogy megfelelően megtanulja azokat. Ha csak olvassa, elfelejti!
Most bizonyosodjon, meg, hogy a Caps-Lock gombja NINCS lenyomva, és
Nyomja meg megfelelő számúszor a j gombot, hogy az 1.1-es
lecke teljesen a képernyőn legyen!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.1. lecke: A KURZOR MOZGATÁSA
** A kurzor mozgatásához nyomja meg a h,j,k,l gombokat az alábbi szerint. **
^
k Tipp: A h billentyű van balra, és balra mozgat
< h l > A l billentyű van jobbra, és jobbra mozgat
j A j billentyű olyan, mint egy lefele nyíl
v
1. Mozgassa a kurzort körbe az ablakban, amíg hozzá nem szokik!
2. Tartsa lenyomva a lefelét (j), akkor ismétlődik!
---> Most tudja, hogyan mehet a következő leckére.
3. A lefelé fomb használatával menjen a 1.2. leckére!
Megj: Ha nem biztos benne, mit nyomott meg, nyomja meg az <ESC>-et, hogy
normál módba kerüljön, és ismételje meg a parancsot!
Megj: A kurzor gomboknak is működniük kell, de a hjkl használatával
sokkal gyorsabban tud, mozogni, ha hozzászokik.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.2. lecke: BE ÉS KILÉPÉS A VIMBŐL
!! MEGJ: Mielőtt végrehajtja az alábbi lépéseket, olvassa végig a leckét !!
1. Nyomja meg az <ESC> gombot (hogy biztosan normál módban legyen).
2. Írja: :q! <ENTER>.
---> Ezzel kilép a szerkesztőből a változások MENTÉSE NÉLKÜL.
Ha menteni szeretné a változásokat és kilépni, írja:
:wq <ENTER>
3. Amikor a shell promptot látja, írja be a parancsot, amely ebbe a
tutorba hozza:
Ez valószínűleg: vimtutor <ENTER>
Normális esetben ezt írná: vim tutor.hu <ENTER>
---> 'vim' jelenti a vimbe belépést, 'tutor.hu' a fájl, amit szerkeszteni kíván.
4. Ha megjegyezte a lépéseket és biztos magában, hajtsa végre a lépéseket
1-től 3-ig, hogy kilépjen és visszatérjen a szerkesztőbe. Azután
menjen az 1.3. leckére.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.3. lecke: SZÖVEG SZERKESZTÉSE - TÖRLÉS
** Normál módban nyomjon x-et, hogy a kurzor alatti karaktert törölje. **
1. Mozgassa a kurzort a ---> kezdetű sorra!
2. A hibák kijavításához mozgassa a kurzort amíg a törlendő karakter
fölé nem ér.
3. Nyomja meg az x gombot, hogy törölje a nemkívánt karaktert.
4. Ismételje a 2, 3, 4-es lépéseket, hogy kijavítsa a mondatot.
---> ŐŐszi éjjjell izziik aa galaggonya rruuhája.
5. Ha a sor helyes, ugorjon a 1.4. leckére.
MEGJ: A tanulás során ne memorizálni próbáljon, hanem használat során tanuljon.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.4. lecke: SZÖVEG SZERKESZTÉSE - BESZÚRÁS
** Normál módban i megnyomásával lehet beilleszteni. **
1. Az alábbi első ---> kezdetű sorra menjen.
2. Ahhoz, hogy az elsőt azonossá tegye a másodikkal, mozgassa a kurzort
az első karakterre, amely UTÁN szöveget kell beszúrni.
3. Nyomjon i-t és írja be a megfelelő szöveget.
4. Amikor mindent beírt, nyomjon <ESC>-et, hogy Normál módba visszatérjen.
Ismételje a 2 és 4 közötti lépéseket, hogy kijavítsa a mondatot.
---> Az átható soól hizik pár ész.
---> Az itt látható sorból hiányzik pár rész.
5. Ha már begyakorolta a beszúrást, menjen az alábbi összefoglalóra.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. LECKE ÖSSZEFOGLALÓJA
1. A kurzort vagy a nyilakkal vagy a hjkl gombokkal mozgathatja.
h (balra) j (le) k (fel) l (jobbra)
2. A Vimbe (a $ prompttól) így léphet be: vim FILENAME <ENTER>
3. A Vimből így léphet ki: <ESC> :q! <ENTER> a változtatások eldobásával.
vagy így: <ESC> :wq <ENTER> a változások mentésével.
4. A kurzor alatti karakter törlése normál módban: x
5. Szöveg beszúrása a kurzor után normál módban:
i gépelje be a szöveget <ESC>
MEGJ: Az <ESC> megnyomása normál módba viszi, vagy megszakít egy nem befejezett
részben befejezett parancsot.
Most folytassuk a 2. leckével!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.1. lecke: TÖRLŐ UTASÍTÁSOK
** dw töröl a szó végéig. **
1. Nyomjon <ESC>-et, hogy megbizonyosodjon, hogy normál módban van!
2. Mozgassa a kurzort a ---> kezdetű sorra!
3. Mozgassa a kurzort arra annak a szónak az elejére, amit törölni szeretne.
Törölje az állatokat a mondatból.
4. A szó törléséhez írja: dw
MEGJ: Ha rosszul kezdte az utasítást csak nyomjon <ESC> gombot
a megszakításához.
---> Pár szó kutya nem uhu illik pingvin a mondatba tehén.
5. Ismételje a 3 és 4 közötti utasításokat amíg kell és ugorjon a 2.2 leckére!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.2. lecke: MÉG TÖBB TÖRLŐ UTASÍTÁS
** d$ beírásával a sor végéig törölhet. **
1. Nyomjon <ESC>-et, hogy megbizonyosodjon, hogy normál módban van!
2. Mozgassa a kurzort a ---> kezdetű sorra!
3. Mozgassa a kurzort a helyes sor végére (az első . UTÁN)!
4. d$ begépeléséveltörölje a sor végét!
---> Valaki a sor végét kétszer gépelte be. kétszer gépelte be.
5. Menjen a 2.3. leckére, hogy megértse mi történt!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.3. lecke: UTASÍTÁSOKRÓL ÉS OBJEKTUMOKRÓL
A d (delete=törlés) utasítás formája a következő:
[szám] d objektum VAGY d [szám] objektum
Ahol:
szám - hányszor hajtódjon végre a parancs (elhagyható, alapérték=1).
d - a törlés (delete) utasítás.
objektum - amin a parancsnak teljesülnie kell (alább listázva).
Objektumok rövid listája:
w - a kurzortól a szó végéig, beleértve a szóközt.
e - a kurzortól a szó végéig, NEM beleértve a szóközt.
$ - a kurzortól a sor végéig.
MEGJ: Vállalkozóbbak kedvéért, csupán az objektum begépelésével parancs nélkül
a kurzor oda kerül, amit az objektumlista megad.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.4. lecke: EGY KIVÉTEL A 'PARANCSOBJEKTUM' ALÓL
** dd beírásával törölheti az egész sort. **
A teljes sor törlésének gyakorisága miatt a Vi tervezői elhatározták,
hogy könnyebb lenne csupán a d-t kétszer megnyomni, hogy egy sort töröljünk.
1. Mozgassa a kurzort az alábbi kifejezések második sorára!
2. dd begépelésével törölje a sort!
3. Menjen a 4. (eredetileg 5.) sorra!
4. 2dd (ugyebár szám-utasítás-objektum) begépelésével töröljön két sort!
1) Alvó szegek a jéghideg homokban,
2) - kezdi a költő -
3) Plakátmagányban ázó éjjelek.
4) Pingvinek ne féljetek,
5) Távolról egy vaku villant,
6) Égve hagytad a folyosón a villanyt.
7) Ma ontják véremet.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.5. lecke: A VISSZAVONÁS (UNDO) PARANCS
** u gépelésével visszavonható az utolsó parancs, U az egész sort helyreállítja. **
1. Menjünk az alábbi ---> kezdetű sor első hibájára!
2. x lenyomásával törölje az első felesleges karaktert!
3. u megnyomásával vonja vissza az utolsónak végrehajtott utasítást!
4. Másodjára javítson ki minden hibát a sorben az x utasítással!
5. Most nagy U -val állítsa vissza a sor eredeti állapotát!
6. Nyomja meg az u gombot párszor, hogy az U és sz előző utasításokat
visszaállítsa!
7. CTRL-R (CTRL gomb lenyomása mellett üssön R-t) párszor csinálja újra a
visszavont parancsokat (redo)!
---> Javíítsd a hhibákaat ebbben a sooorban majd állítsa visszaaa az eredetit.
8. Ezek nagyon hasznos parancsok. Most ugarjon a 2. lecke összefoglalójára.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2. LECKE ÖSSZEFOGLALÓJA
1. Törlés a kurzortól a szó végéig: dw
2. Törlés a kurzortól a szó végéig: d$
3. Egész sor törlése: dd
4. Egy utasítás alakja normál módban:
[szám] utasítás objektum VAGY utasítás [szám] objektum
ahol:
szám - hányszor ismételjük a parancsot
utasítás - mit tegyünk, pl. d a törléskor
objektum - mire hasson az utasítás, például w (szó=word),
$ (a sor végéig), stb.
5. Az előző tett visszavonása (undo): u (kis u)
A sor összes változásának visszavonása: U (nagy U)
Visszavonások visszavonása: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.1. lecke: A PUT PARANCS
** p leütésével az utolsónak töröltet a kurzor után illeszhetjük. **
1. Mozgassuk a kurzort az alábbi sorok első sorára.
2. dd leütésével töröljük a sort és eltérolódik a Vim pufferében.
3. Mozgassuk a kurzort AFÖLÉ a sor fölé, ahová mozgatni szeretnénk a
törölt sort.
4. Normál módban írjunk p betűt a törölt sor beillesztéséhez.
5. Folytassuk a 2-4. utasításokkal hogy a helyes sorrendet kapjuk.
d) Can you learn too?
b) Violets are blue,
c) Intelligence is learned,
a) Roses are red,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.2. lecke: A REPLACE PARANCS
** r és a karakterek leütésével a kurzor alatti karaktert megváltoztatjuk. **
1. Mozgassuk a kurzort az első ---> kezdetű sorra!
2. Mozgassuk a kurzort az első hiba fölé!
3. r majd a kívánt karakter leütésével változtassuk meg a hibásat!
4. A 2. és 3. lépésekkel javítsuk az összes hibát!
---> Whan this lime was tuoed in, someone presswd some wrojg keys!
---> When this line was typed in, someone pressed some wrong keys!
5. Menjünk a 3.2. leckére!
MEGJ: Emlékezzen, hogy nem memorizálással, hanem gyakorlással tanuljon.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.3. lecke: A CHANGE PARANCS
** A szó egy részének megváltoztatásához írjuk: cw . **
1. Mozgassuk a kurzort az első ---> kezdetű sorra!
2. Vigye a kurzort a Ezen szó z betűje fölé!
3. cw és a helyes szórész (itt 'bben') beírásával javítsa a szót!
4. <ESC> lenyomása után a következő hibára ugorjon (az első cserélendő
karakterre)!
5. A 3. és 4. lépések ismétlésével az első mondatot tegye a másodikkal
azonossá!
---> Ezen a sorrrrr pár szóra meg kell változzanak a change utaskíréső.
---> Ebben a sorban pár szót meg kell változtatni a change utasítással.
Vegyük észre, hogy a cw nem csak a szót írja át, hanem beszúró
(insert) módba vált.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.4. lecke: TÖBBFÉLE VÁLTOZTATÁS c-VEL
** A c utasítás használható ugyanazokkal az objektumokkal mint a törlés **
1. A change utasítás a törléssel azonosan viselkedik. A forma:
[szám] c objektum OR c [szám] objektum
2. Az objektumok is azonosak, pl. w (szó), $ (sorvég), stb.
3. Mozgassuk a kurzort az első ---> kezdetű sorra!
4. Menjünk az első hibára!
5. c$ begépelésével a sorvégeket tegyük azonossá és nyomjunk <ESC>-et!
---> Ennek a sornak a vége kiigazításra szorul, hogy megegyezzen a másodikkal.
---> Ennek a sornak a vége a c$ paranccsal változtatható meg.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. LECKE ÖSSZEFOGLALÓJA
1. A már törölt sort beillesztéséhez nyomjunk p-t. Ez a törölt szöveget
a kurzor UTÁN helyezi (ha sor került törlésre, a kurzor allatti sorba).
2. A kurzor alatti karakter átírásához az r-et és azt a karaktert
nyomjuk, amellyel az eredetit felül szeretnénk írni.
3. A változtatás (c) utasítás a karaktertől az objektum végéig
változtatja meg az objektumot. Például a cw a kurzortól a szó végéig,
a c$ a sor végéig.
4. A változtatás formátuma:
[szám] c objektum VAGY c [szám] objektum
Ugorjunk a következő leckére!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4.1. lecke: HELY ÉS FÁJLÁLLAPOT
** CTRL-g megnyomásával megnézhetjük a helyünket a fájlban és a fájl állapotát.
SHIFT-G leütésével a fájl adott sorára ugorhatunk. **
Megj: Olvassuk el az egész leckét a lépések végrehajtása előtt!!
1. Tartsuk nyomva a Ctrl gombot és nyomjunk g-t. Az állapotsor
megjelenik a lap alján a fájlnévvel és az aktuális sor sorszámával.
Jegyezzük meg a sorszámot a 3. lépéshez!
2. Nyomjunk Shift-G-t a lap aljára ugráshoz!
3. Üssük be az eredeti sor számát, majd üssünk shift-G-t! Ezzel
visszajutunk az eredeti sorra ahol Ctrl-g-t nyomtunk.
(A beírt szám NEM fog megjelenni a képernyőn.)
4. Ha megjegyezte a feladatot, hajtsa végre az 1-3. lépéseket!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4.2. lecke: A SEARCH PARANCS
** / majd a kívánt kifejezés beírásával kereshetjük meg a kifejezést. **
1. Normál módban üssünk / karaktert! Ez és a kurzor megjelenik
a képernyő alján, ahogy a : utasítás is.
2. Írjuk be: 'hiibaa' <ENTER>! Ez az a szó amit keresünk.
3. A kifejezés újabb kereséséhez üssük le egyszerűen: n .
A kifejezés ellenkező irányban történő kereséséhez ezt üssük be: Shift-N .
4. Ha visszafelé szeretne keresni, akkor ? kell a ! helyett.
---> "hiibaa" nem a helyes módja a hiba leírásának; a hiibaa egy hiba.
Megj: Ha a keresés eléri a fájl végét, akkor az elején kezdi.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4.3. lecke: ZÁRÓJELEK PÁRJÁNAK KERESÉSE
** % leütésével megtaláljuk a ),], vagy } párját. **
1. Helyezze a kurzort valamelyik (, [, vagy { zárójelre a ---> kezdetű
sorban!
2. Üssön % karaktert!
3. A kurzor a zárójel párjára fog ugrani.
4. % leütésével visszaugrik az eredeti zárójelre.
---> Ez ( egy tesztsor (-ekkel, [-ekkel ] és {-ekkel } a sorban. ))
Megj: Ez nagyon hasznos, ha olyan programot debugolunk, amelyben a
zárójelek nem párosak!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4.4. lecke: A HIBÁK KIJAVÍTÁSÁNAK EGY MÓDJA
** :s/új/régi/g begépelésével az 'új'-ra cseréljük a 'régi'-t. **
1. Menjünk a ---> kezdetű sorra!
2. Írjuk be: :s/eggy/egy <ENTER> . Ekkor csak az első változik meg a
sorban.
3. Most ezt írjuk: :s/eggy/egg/g amely globálisan helyettesít
a sorban.
Ez a sorban minden előfordulást helyettesít.
---> eggy hegy meggy, szembe jön eggy másik heggy.
4. Két sor között a karaktersor minden előfordulásának helyettesítése:
:#,#s/régi/új/g ahol #,# a két sor sorszáma.
:%s/régi/új/g a fájlbeli összes előfordulás helyettesítése.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4. LECKE ÖSSZEFOGLALÓJA
1. Ctrl-g kiírja az kurzor helyét a fájlban és a fájl állapotát.
Shift-G a fájl végére megy, gg az elejére. Egy szám után
Shift-G az adott számú sorra ugrik.
2. / után egy kifejezés ELŐREFELE keresi a kifejezést.
2. ? után egy kifejezés VISSZAFELE keresi a kifejezést.
Egy keresés után az n a következő előfordulást keresi azonos irányban
Shift-N az ellenkező irányban keres.
3. % begépelésével, ha (,),[,],{, vagy } karakteren vagyunk a zárójel
párjára ugrik.
4. az első régi helyettesítése újjal a sorban :s/régi/új
az összes régi helyettesítése újjal a sorban :s/régi/új/g
két sor közötti kifejezésekre :#,#s/régi/új/g
# helyén az aktuális sor (.) és az utolsó ($) is állhat :.,$/régi/új/g
A fájlbeli összes előfordulás helyettesítése :%s/régi/új/g
Mindenkori megerősítésre vár 'c' hatására :%s/régi/új/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.1. lecke: KÜLSŐ PARANCS VÉGREHAJTÁSA
** :! után külső parancsot írva végrehajtódik a parancs. **
1. Írjuk be az ismerős : parancsot, hogy a kurzort a képernyő aljára
helyezzük. Ez lehetővé teszi egy parancs beírását.
2. ! (felkiáltójel) beírásával tegyük lehetővé külső héj (shell)-parancs
végrehajtását.
3. Írjunk például ls parancsot a ! után majd üssünk <ENTER>-t. Ez ki
fogja listázni a könyvtárunkat ugyanúgy, mintha a shell promptnál
lennénk. Vagy írja ezt :!dir ha az ls nem működik.
Megj: Ilymódon bármely külső utasítás végrehajtható.
Megj: Minden : parancs után <ENTER>-t kell ütni.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.2. lecke: BŐVEBBEN A FÁJLOK ÍRÁSÁRÓL
** A fájlok változásait így írhatjuk ki :w FÁJLNÉV. **
1. :!dir vagy :!ls beírásával listázzuk a könyvtárunkat!
Ön már tudja, hogy <ENTER>-t kell ütnie utána.
2. Válasszon egy fájlnevet, amely még nem létezik pl. TESZT!
3. Írja: :w TESZT (ahol TESZT a választott fájlnév)!
4. Ez elmenti a teljes fájlt (a Vim Tutort) TESZT néven.
Ellenőrzésképp írjuk ismét :!dir hogy lássuk a könyvtárat!
(Felfelé gombbal : után az előző utasítások visszahozhatóak.)
Megj: Ha Ön kilépne a Vimből és és visszatérne a TESZT fájlnévvel, akkor a
fájl a tutor mentéskori pontos másolata lenne.
5. Távolítsa el a fájlt (MS-DOS): :!del TESZT
vagy (Unix): :!rm TESZT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.3. lecke: EGY KIVÁLASZTOTT RÉSZ KIÍRÁSA
** A fájl egy részének kiírásához írja :#,# w FÁJLNÉV **
1. :!dir vagy :!ls beírásával listázza a könyvtárat, és válasszon egy
megfelelő fájlnevet, pl. TESZT.
2. Mozgassa a kurzort ennek az oldalnak a tetejére, és nyomjon
Ctrl-g-t, hogy megtudja a sorszámot. JEGYEZZE MEG A SZÁMOT!
3. Most menjen a lap aljára, és üsse be ismét: Ctrl-g. EZT A SZÁMOT
IS JEGYEZZE MEG!
4. Ha csak ezt a részét szeretné menteni a fájlnak, írja :#,# w TESZT
ahol #,# a két sorszám, amit megjegyzett, TESZT az Ön fájlneve.
5. Ismét nézze meg, hogy a fájl ott van (:!dir) de NE törölje.
6. Vimben létezik egy másik lehetőség: nyomja meg a Shift-V gombpárt
az első menteni kívánt soron, majd menjen le az utolsóra, ezután
írja :w TESZT2 Ekkor a TESZT2 fájlba kerül a kijelölt rész.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.4. lecke: RETRIEVING AND MERGING FILES
** Egy fájl tartalmának beillesztéséhez írja :r FÁJLNÉV **
1. :!dir beírásával nézze meg, hogy az Ön TESZT fájlja létezik még.
2. Helyezze a kurzort ennek az oldalnak a tetejére.
MEGJ: A 3. lépés után az 5.3. leckét fogja látni. Azután LEFELÉ indulva
keresse meg ismét ezt a leckét.
3. Most szúrja be a TESZT nevű fájlt a :r TESZT paranccsal, ahol
TESZT az Ön fájljénak a neve.
MEGJ: A fájl, amit beillesztett a kurzora alatt helyezkedik el.
4. Hogy ellenőrizzük, hogy a fájlt tényleg beillsztettük, menjen
vissza, és nézze meg, hogy kétszer szerepel az 5.3. lecke! Az eredeti
mellett a fájlból bemásolt is ott van.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5. LECKE ÖSSZEFOGLALÓJA
1. :!parancs végrehajt egy külső utasítást.
Pár hasznos példa:
(MS-DOS) (Unix)
:!dir :!ls - könyvtárlista kiírása.
:!del FÁJLNÉV :!rm FÁJLNÉV - FÁJLNÉV nevű fájl törlése.
2. :w FÁJLNÉV kiírja a jelenlegi Vim-fájlt a lemezre FÁJNÉV néven.
3. :#,#w FÁJLNÉV kiírja a két sorszám (#) közötti sorokat FÁJLNÉV-be
Másik lehetőség, hogy a kezdősornál Ctrl-v-t nyom lemegy az utolsó
sorra, majd ezt üti be :w FÁJLNÉV
4. :r FÁJLNÉV beolvassa a FÁJLNÉV fájlt és behelyezi a jelenlegi fájlba
a kurzorpozició utáni sorba.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6.1. lecke: A OPEN PARANCS
** o beírásával nyithat egy új sort a kurzor alatt és válthat beszúró módba **
1. Mozgassuk a kurzort a ---> kezdetű sorra.
2. o (kicsi) beírásával nyisson egy sort a kurzor ALATT! Ekkor
automatikusan beszúró (insert) módba kerül.
3. Másolja le a ---> jelű sort és <ESC> megnyomásával lépjen ki
a beszúró módból.
---> Az o lenyomása után a kurzor a következő sor elején áll beszúró módban.
4. A kurzor FELETTI for megnyitásához egyzserűen a nagy O betűt írjon
kicsi helyett. Próbálja ki a következő soron!
Nyisson egy új sort efelett Shift-O megnyomásával, mialatt a kurzor
ezen a soron áll.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6.2. lecke: AZ APPEND PARANCS
** a lenyomásával a kuror UTÁN szúrhatunk szöveget. **
1. Mozgassuk a kurzort a következő ---> kezdetű sor végére úgy,
hogy normál módban $ ír be.
2. a (kicsi) leütésével szöveget szúrhat be AMöGÉ a karakter mögé,
amelyen a kurzor áll.
(A nagy A az egész sor végére írja a szöveget.)
Megj: A Vimben a sor legvégére is lehet állni, azonba ez elődjében
a Vi-ban nem lehetséges, ezért abban az a nélkül elég körülményes
a sor végéhez szöveget írni.
3. Egészítse ki az első sort. Vegye észre, hogy az a utasítás (append)
teljesen egyezik az i-vel (insert) csupán a beszúrt szöveg helye
különbözik.
---> Ez a sor lehetővé teszi Önnek, hogy gyakorolja
---> Ez a sor lehetővé teszi Önnek, hogy gyakorolja a sor végére beillesztést.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6.3. lecke: AZ ÁTÍRÁS MÁSIK VÁLTOZATA
** Nagy R beírásával írhat felül több mint egy karaktert. **
1. Mozgassuk a kurzort az első ---> kezdetű sorra!
2. Place the cursor at the beginning of the first word that is different
from the second line marked ---> (the word 'last').
3. Now type R and replace the remainder of the text on the first line by
typing over the old text to make the first line the same as the second.
---> To make the first line the same as the last on this page use the keys.
---> To make the first line the same as the second, type R and the new text.
4. Note that when you press <ESC> to exit, any unaltered text remains.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6.4. lecke: BEÁLLÍTÁSOK
** Állítsuk be, hogy a keresés és a helyettesítés ne függjön kis/NAGYbetűktől **
1. Keressük meg az 'ignore'-t az beírva:
/ignore
Ezt ismételjük többször az n billentyűvel
2. Állítsuk be az 'ic' (Ignore case) lehetőséget így:
:set ic
3. Most keressünk ismét az 'ignore'-ra n-nel
Ismételjük meg többször a keresést: n
4. Állítsuk be a 'hlsearch' és 'incsearch' lehetőségeket:
:set hls is
5. Most ismét írjuk be a keresőparancsot, és lássuk mi történik:
/ignore
6. A kiemelést szüntessük meg alábbi utasítások egyikével:
:set nohls vagy :nohlsearch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6. LECKE ÖSSZEFOGLALÓJA
1. Typing o opens a line BELOW the cursor and places the cursor on the open
line in Insert mode.
Typing a capital O opens the line ABOVE the line the cursor is on.
2. Type an a to insert text AFTER the character the cursor is on.
Typing a capital A automatically appends text to the end of the line.
3. Typing a capital R enters Replace mode until <ESC> is pressed to exit.
4. Typing ":set xxx" sets the option "xxx"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7. lecke: ON-LINE HELP PARANCSOK
** Az online súgórendszer használata **
A Vim részletes súgóval rendelkezik. Induláshoz a következők egyikét
tegye:
- nyomja meg a <HELP> gombot (ha van ilyen)
- nyomja meg az <F1> gombot (ha van ilyen)
- írja be: :help <ENTER>
:q <ENTER> beírásával zárhatja be a súgóablakot.
Majdnem minden témakörről találhat súgót, argumentum megadásával
":help" utasítás . Próbálja az alábbiakat ki (<ENTER>-t ne felejtsük):
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8. lecke: INDÍTÓSZKRIPT ÍRÁSA
** A Vim lehetőségeinek beállítása **
A Vim rengeteg lehetőséggel rendelkezik a Vi-hoz képest, de a legtöbb
alapból elérhetetlen. Ahhoz, hogy alapból több lehetőségünk legyen készítenünk
kell egy "vimrc" fájlt.
1. Kezdjük el szerkeszteni a "vimrc" fájlt, ennek módja:
:edit ~/.vimrc Unixon, Linuxon
:edit $VIM/_vimrc MS-Windowson
2. Most szúrjuk be a példa "vimrc" fájl szövegét:
:read $VIMRUNTIME/vimrc_example.vim
3. Írjuk ki a fájlt:
:write
Legközelebb a Vim szintaxiskiemeléssel indul.
Hozzáadhatja kedvenc beállításait ehhez a "vimrc" fájlhoz.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Itt végződik a Vim oktató, melynek a szándéka egy rövid áttekintés a
Vimről, amely elég ahhoz, hogy elég könnyedén kezeljük a szerkesztőt.
Távol van a teljességtől, mivel a Vimnek számtalan további utasítása
van. Ezután a felhasználói kézikönyvet érdemes elolvasni az angolul
tudóknak: ":help user-manual". (egyelőre nem tud magyarul)
További magyar olvasnivalók érhetőek el az alábbi oldalról.
http://ubuntu.hu/index.php?title=Vim
For further reading and studying, this book is recommended:
Vim - Vi Improved - by Steve Oualline
Publisher: New Riders
The first book completely dedicated to Vim. Especially useful for beginners.
There are many examples and pictures.
See http://iccf-holland.org/click5.html
This book is older and more about Vi than Vim, but also recommended:
Learning the Vi Editor - by Linda Lamb
Publisher: O'Reilly & Associates Inc.
It is a good book to get to know almost anything you want to do with Vi.
The sixth edition also includes information on Vim.
This tutorial was written by Michael C. Pierce and Robert K. Ware,
Colorado School of Mines using ideas supplied by Charles Smith,
Colorado State University. E-mail: bware@mines.colorado.edu.
Modified for Vim by Bram Moolenaar.