vi��Ȥ��ݤ�

01/06/25 Naoto Hashimura

vi �ʥ֥������ˤϡ�UNIX��ɸ�२�ǥ����Ǥ��� emacs�� ��ʤ�Τ� rm ���ޤ��礦�� (����)
����ץ�ǡ����Ĺͤ���줿 vi�� �ˤ�Ƥߤޤ��󤫡�

���Хåե����Τ�

vi �ˤ� �ѻ��Хåե��������Хåե� �ȸƤФ�롢�ȤƤ������ʥХåե�������ޤ���

-------------------------------------------------------------------------------
�Խ��Хåե�
������������������������������������	�ѻ��Хåե� ��a����z��26�ġ�
�ä���ϡ����̤˸����Ƥ��롢�Խ����	a������������������
�ä����ƤǤ�������������������������	 ������������������		
������������������������������������ 	b������������������
������������������������������������	 ������������������
������������������������������������	        ...
������������������������������������
������������������������������������	�����Хåե� ��1����9��9�ġ�    
������������������������������������	1������������������
������������������������������������	 ������������������
������������������������������������	2������������������	
������������������������������������	 ������������������	
������������������������������������	        ...
������������������������������������
������������������������������������
-------------------------------------------------------------------------------
�ѻ��Хåե�
���̤˥��ԡ����������顢�Ƥӥ��ԡ������������硢���Τ��ä��ޤ���
�ѻ��Хåե��Ȥ�����a����z��26�ĤΥХåե�������ޤ��������Ȥ��С����äȼ�äƤ������Ȥ���ǽ�Ǥ���

���̤Υ��ԡ������Υ��ޥ�ɤ����� "a��"z ���դ��ޤ���
�㤨�С��ѻ��Хåե�a �� ��������ξ�äƤ���Ԥ򥳥ԡ�����ˤ� "aY�� ���Ф��ˤ� "ap �Ȥ��ޤ���

�ѻ��Хåե��ϡ�������Ķ���ơ����� ʣ���Υե�����֤Ƕ�ͭ����ޤ���
�̾ʣ���ե������Ʊ���Խ��� :n �Ǽ��Υե�����˰�ư������硢�ѻ��Ǥʤ��Хåե������Ƥϼ����Ƥ��ޤ��ޤ��������ѻ��Хåե������ϻĤäƤ���ΤǤ��� �ܤ����ϸ�ۤɡ�


�����Хåե�
�Խ��Хåե���1�԰ʾ�κ���򤹤�ȡ������Хåե�1 �ؤ������Ƥ���¸����ޤ���
���ˤޤ� 1�԰ʾ�κ���򤹤�ȡ����줬�����Хåե�1 �ء����������˿����Хåե�1 �ˤ��ä���Τ������Хåե�2 �ذܤ�ޤ���

�㤨�С�
aiueo
kakikukeko
sasisuseso
�Ȥ��� 3�Ԥ򡢾夫�� dd ���Ƥ����ޤ������ΤȤ���
�����Хåե�1 �� sasisuseso
�����Хåե�2 �� kakikukeko
�����Хåե�3 �� aiueo
�ȡ������� dd ������Τ����ˡ������Хåե�1��2��3�����äƤ���ΤǤ���
�����ǡ�
"1p �Ȥ���ȡ�1������ dd �����������Хåե�1 �����Ƥ���
"2p �Ȥ���ȡ�2������ dd �����������Хåե�2 �����Ƥ����Ф���ޤ���
�����Ǥ��礦��
���ʤߤˡ������Хåե��ؤΥ��ԡ��ϤǤ��ޤ��� �ʤǤ��� vi �⤢���


�Ȥ����ǡ��������� dd ���������Ф��Ƥ���ɤ��ΤǤ�����˺�줿�顩
"1p �ǥХåե�1 ��������Ƥߤơ���ä���ä���"2p �ǥХåե�2����Ф��Ƥߤơ���ä���ä����� �򷫤��֤��Τ��� �ȤäƤ����Υƥ�������ޤ���
"1p         �������Хåե�1����Ф�
u           �����Ф����Τ� ��äѼ��ä�
.           ���ʤ��������Хåե�2�����Ф����
u           �����Ф����Τ� ��äѼ��ä�
.           ���ʤ��������Хåե�3�����Ф����

(���Ĥ���ޤ� u �� . �򷫤��֤�)
���Υƥ��ϡ��ɤ�� vi �Ǥ����Ѥ���Ϥ��Ǥ���
vi �μ���Ǥ⡢vim �ȸƤФ���Ĥϡ�ex���ޥ�� :dis �ǥХåե������Ƥ�����ޤ����顢���Υƥ����Τ�ɬ�פʤ���Ǥ���������


��ex���ޥ�ɤ��Խ��Хåե��˽񤤤Ƽ¹Ԥ��褦��

�㤨�С����ޥ�ɥ⡼�ɤǡ���ϫ����Ĺ�������ִ����ޥ�ɤ����ϡ��¹Ԥ��ޤ������ǡ������ְ�äƤơ��ִ��˼��Ԥ��ޤ���������ȡ��Ϥᤫ��⤦�������Ϥ�ľ���Ρ� ����ʡ�����

������ @���ޥ�ɡ�
@���ޥ�ɤϡ��ѻ��Хåե������Ƥ� ex���ޥ�ɤȤ��Ƽ¹Ԥ����ΤǤ���

vi�����ϥ⡼�ɤǡ�
:s/Section \([1-9][0-9]*\.[1-9][0-9]*\)/��������� \1/
�Τ褦�ˡ�ex���ޥ�ɤȤ��Ƽ¹Ԥ�����̿������Τޤ��񤭤ޤ���
(���ʤߤ˾���ִ����ޥ�ɤϡ���Section 3.8�� �ߤ�����ʸ����� �֥�������� 3.8�� �Τ褦�ˤ����ΤǤ�)

����ʸ����ξ�ǡ����ޥ�ɥ⡼�ɤ�����ޤ��������ǡ�
"aY
�����Ϥ������ιԤ� �ѻ��Хåե�a ����¸���ޤ���
�����ơ������¹Ԥ������Ԥ�
@a
�Ȥ���ȡ������ѻ��Хåե�a �����Ƥ����ޥ�ɤȤ��Ƽ¹Ԥ����ΤǤ���
�⤷���Ԥ����顢���ʸ�����ľ���ơ����� "aY��@a �򤹤���ɤ��ΤǤ���

���Υƥ���Ф����顢�⤥�����ܤϺ�ȸ�Ψ�����åפ��ޤ���


�����Ĥ�� ex���ޥ�ɤ�ʣ���Ԥ˽񤤤ơ�"a4Y �Τ褦�ˡ�ʣ���Ԥ�Хåե��˥��ԡ����¹Ԥ���ȡ��쵤�˼¹ԤǤ��ޤ���


�������ե�����Ȥϲ���

����C����Υ������ե�������Խ����Ƥ��ơ�
�֤������ �ؿ� hoge �Ϥɤ����������Ƥ��ä�����
�Ȥ���
�ִؿ� bar ������ͤäƲ������ä�����
�Ȥ������Ȥ��褯����ޤ��󤫡�

����������硢��ȥǥ��쥯�ȥ�� tags �Ȥ����ե�������ꡢ���Τ褦�����Ƥ�񤭤ޤ���
-------------------------------------------------------------------------------
hoge    okok.c  /^void hoge(/
bar     main.c  /^long bar(/
-------------------------------------------------------------------------------
1���ܤ�Ǥ�դΥ�����ɡʴؿ�̾�Ȥ��ˡ�2���ܤ˥ե�����̾��3���ܤ˸����ѥ������񤭤ޤ���ʸ����֤ϥ��֤Ƕ��ڤ�ޤ���

vi�Υ��ޥ�ɥ⡼�ɤǡ�
:ta hoge
�Ȥ���ȡ�����
tags�ե����뤬 vi�ˤ�꾡��˻��Ȥ��졢okok.c�������졢/^void hoge(/ �˥ޥå������Ԥ�����Ǥ���ޤ���

�Խ����Ƥ����ե���������ˤϡ�
:po
�Ȥ��ޤ���
:ta ���������Ǥޤ� :ta ���ơ� �򷫤��֤����顢����ʬ :po �򤷤����ޤ���

�ǡ� ��ʬ�� tags�ե��������Τ��ɤ��ΤǤ�������C����ʤɤΡ˥������ե����뤫�顢��ưŪ��
�ؿ�̾	�ե�����̾	/�ѥ�����/
�Ȥ���������󤷡������ ��tags�� �Ȥ����ե�����̾����¸���Ƥ���륳�ޥ�ɤ�����ޤ���
-------------------------------------------------------------------------------
$ ctags *.c
-------------------------------------------------------------------------------
����ctags���ޥ�ɡ�C����Υ������ʳ��ˤ⡢C++��Pascal�Υ������ե�����Ǥ⤦�ޤ������ե�������äƤ���ޤ��� ��Perl�Ϥ�������̵��������

�Ȥ����ǡ����� tags�ե�����ϡ��ץ������Υ������ե�����ʳ�����Ū�ǻȤ��Τ������ɤ��Ǥ������ޤ���3���ܤˤ� �ѥ�����˸¤餺 ex���ޥ�ɡʥ�����Ͻ����ˤǤ���в��Ǥ��ɤ��ߤ����Ǥ���

�㤨�С�tags�ե������
-------------------------------------------------------------------------------
hoge_20     hogehoge.txt    20
hoge_end    hogehoge.txt    $
-------------------------------------------------------------------------------
:ta hoge_20 �Ȥ���ȡ�hogehoge.txt ��20���ܤ����ӡ�
:ta hoge_end �Ȥ���ȡ�hogehoge.txt �κǸ�ιԤ����Ӥޤ���


��������

�Ȥꤢ��������������ޤ��������ޤ��ޤ��񤯤��ȤϤ���ޤ���
��������ΤϤ��Ĥˤʤ��顦����


���Υڡ�������Ƭ | ���Υڡ��������