yochiyochirb / practical-vim

6 stars 14 forks source link

第1回 2016-12-04 (日) 〜 2016-12-10 (土) #1

Open 5t111111 opened 7 years ago

5t111111 commented 7 years ago

📆 期間

2016-12-04 (日) 〜 2016-12-10 (土)

📖 読む範囲

p. 5 〜 p. 24

yucao24hours commented 7 years ago

読みました 👐 初回のコメントなのでどうやってまとめていくといいか定まっていないけど、気になったところとかをめもしてみます。

:h key-notation

初めて読んだ。(いかに私が vim の詳細を気にしていなかったかがばれる...かもしれない)

                    *key-notation* *key-codes* *keycodes*
These names for keys are used in the documentation.  They can also be used
with the ":map" command (insert the key name by pressing CTRL-K and then the
key you want the name for).

notation    meaning         equivalent  decimal value(s)    ~
-----------------------------------------------------------------------
<Nul>       zero            CTRL-@    0 (stored as 10) *<Nul>*
<BS>        backspace       CTRL-H    8 *backspace*
<Tab>       tab         CTRL-I    9 *tab* *Tab*
                            *linefeed*
<NL>        linefeed        CTRL-J   10 (used for <Nul>)
<FF>        formfeed        CTRL-L   12 *formfeed*
<CR>        carriage return     CTRL-M   13 *carriage-return*
<Return>    same as <CR>                *<Return>*
<Enter>     same as <CR>                *<Enter>*
<Esc>       escape          CTRL-[   27 *escape* *<Esc>*
<Space>     space                32 *space*
<lt>        less-than       <    60 *<lt>*
<Bslash>    backslash       \    92 *backslash* *<Bslash>*
<Bar>       vertical bar        |   124 *<Bar>*
<Del>       delete              127
<CSI>       command sequence intro  ALT-Esc 155 *<CSI>*
<xCSI>      CSI when typed in the GUI       *<xCSI>*

<EOL>       end-of-line (can be <CR>, <LF> or <CR><LF>,
        depends on system and 'fileformat') *<EOL>*

<Up>        cursor-up           *cursor-up* *cursor_up*
<Down>      cursor-down         *cursor-down* *cursor_down*
<Left>      cursor-left         *cursor-left* *cursor_left*
<Right>     cursor-right            *cursor-right* *cursor_right*
<S-Up>      shift-cursor-up
<S-Down>    shift-cursor-down
<S-Left>    shift-cursor-left
<S-Right>   shift-cursor-right
<C-Left>    control-cursor-left
<C-Right>   control-cursor-right
<F1> - <F12>    function keys 1 to 12       *function_key* *function-key*
<S-F1> - <S-F12> shift-function keys 1 to 12    *<S-F1>*
<Help>      help key
<Undo>      undo key
<Insert>    insert key
<Home>      home                *home*
<End>       end             *end*
<PageUp>    page-up             *page_up* *page-up*
<PageDown>  page-down           *page_down* *page-down*
<kHome>     keypad home (upper left)    *keypad-home*
<kEnd>      keypad end (lower left)     *keypad-end*
<kPageUp>   keypad page-up (upper right)    *keypad-page-up*
<kPageDown> keypad page-down (lower right)  *keypad-page-down*
<kPlus>     keypad +            *keypad-plus*
<kMinus>    keypad -            *keypad-minus*
<kMultiply> keypad *            *keypad-multiply*
<kDivide>   keypad /            *keypad-divide*
<kEnter>    keypad Enter            *keypad-enter*
<kPoint>    keypad Decimal point        *keypad-point*
<k0> - <k9> keypad 0 to 9           *keypad-0* *keypad-9*
<S-...>     shift-key           *shift* *<S-*
<C-...>     control-key         *control* *ctrl* *<C-*
<M-...>     alt-key or meta-key     *meta* *alt* *<M-*
<A-...>     same as <M-...>         *<A-*
<D-...>     command-key (Macintosh only)    *<D-*
<t_xx>      key with "xx" entry in termcap
-----------------------------------------------------------------------

Note: The shifted cursor keys, the help key, and the undo key are only
available on a few terminals.  On the Amiga, shifted function key 10 produces
a code (CSI) that is also used by key sequences.  It will be recognized only
after typing another key.

Note: There are two codes for the delete key.  127 is the decimal ASCII value
for the delete key, which is always recognized.  Some delete keys send another
value, in which case this value is obtained from the termcap entry "kD".  Both
values have the same effect.  Also see |:fixdel|.

Note: The keypad keys are used in the same way as the corresponding "normal"
keys.  For example, <kHome> has the same effect as <Home>.  If a keypad key
sends the same raw key code as its non-keypad equivalent, it will be
recognized as the non-keypad code.  For example, when <kHome> sends the same
code as <Home>, when pressing <kHome> Vim will think <Home> was pressed.
Mapping <kHome> will not work then.

Vim のバージョンについて

最近のコンピュータでは、huge 機能セットよりも少ない機能セットを使用する理由はどこにもない!

というところの意図がいまいちわからんかった。 💻 の保存容量とか処理機能が十分なものが普通に流通しているから、っていうことかな?

GUI

ここを読んで :h gui というのがあるのを知って、gui-start してみようとしたけどできなかった。ちょっとあとで調べてみてまためもする。

yucao24hours commented 7 years ago

意図がいまいちわからんかった

💭 というか huge 機能セット(Huge version というやつ?)という概念をしらなかった。

highwide commented 7 years ago

読みましたー。 細かく深追いしすぎて挫折するのが嫌っていうのもあり、さらっとw その代わり、どんどん先まで読み進めています。

読むペース合ってないかもしれませんが、このrepoのissueはみんなと情報交換するのに使わせてもらえればと... 🙏

ta1kt0me commented 7 years ago

読みました 👀

5t111111 commented 7 years ago

読みました。

to0526 commented 7 years ago

読みました

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec  9 2016 15:25:08)
MacOS X (unix) version
Included patches: 1-124
Compiled by Homebrew
Huge version with MacVim GUI.  Features included (+) or not (-):

💭 guiならではの旨味って何かあるんですかね?

yucao24hours commented 7 years ago

gui-start 自体の help あった...(当たり前か)

1. Starting the GUI                             gui-start E229 E233

First you must make sure you actually have a version of Vim with the GUI code
included.  You can check this with the ":version" command, it says "with xxx
GUI", where "xxx" is X11-Motif, X11-Athena, Photon, GTK2, GTK3, etc., or
"MS-Windows 32 bit GUI version".

vim の :version は @ta1kt0me さんが(おそらくコマンドラインで)やった --version と同じですよね。私のも

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 13 2016 11:28:03)
MacOS X (unix) version
Included patches: 1-2
Compiled by Homebrew
Huge version without GUI.

と出たので GUI はいってないやつでした。

GVim (Mac なので MacVim) を入れてみる

といっても、http://macvim-dev.github.io/macvim/ から辿って dmg をダウンロードして展開するだけであった 🙊 でも、これは vim とは別に MacVim という "別の" ソフトウェアをインストールしている形なんですよね。

yucao24hours commented 7 years ago

guiならではの旨味って何かあるんですかね?

gvim pros cons で検索してみたら http://unix.stackexchange.com/questions/40703/advantages-or-downsides-of-gvim-over-vim-to-edit-code を見つけました。

ひとつの特長としてはマウス操作ができるってことですが、実際やってみたらカーソルの位置をマウスで移動させてそこから操作開始できるようになるので、vim way に慣れていない人にとって便利になっているのかもしれないですね(私もたまに意図通りの位置になかなかいけなくて lllllllllll とかやってる時ある... 😇 )。

ま〜でもきっとここにいる人たちにとっては、ワザワザ GUI のほうを使う必要性はほぼないんだろうな🐶

yucao24hours commented 7 years ago

💭 あ、もしかして Windows だとまた事情が違ったりして、GUI 使ったほうがいいとかあるのかも...?

yucao24hours commented 7 years ago

結局本に書いてある

GVim は 構文の強調表示用にターミナルバージョンよりも多くのフォント/色をサポートして いる。マウスも使える。OS 固有の作法も一部尊重されている。たとえば、MacVim で は、Cmd-Xキー、Cmd-Vキーを使ってクリップボードを扱ったり、Cmd-Sキーでドキュ メントを保存したり、Cmd-Wキーでウィンドウをクローズしたりできる。Vim に慣れ ていない間はこれらを使おう。ただし、常にもっとよい方法があることは覚えておく こと。

が答えだった💫

to0526 commented 7 years ago

おお、ありがとうございます!

💭 guiならではの旨味って何かあるんですかね?

とコメントした後にGUIバージョンを使っていて、

と、地味に気に入って使ってますw GUIならではの機能はそこまで使っていないのでCUIでいいんじゃね?と言われたら何も言い返せませんが、、

yucao24hours commented 7 years ago

マウスでコピペする時に行数表記を気にしなくて良い(CUIのときは:set nonuで消したりしてました)

これ超わかります...私も :set nonumber してコピペしてました。。だから esa とかに vim で書いたコード貼り付ける時、なんかこれ大変だな〜と思ってました 😭 だいたいそういうときは atom でファイル開き直したり。。

to0526 commented 7 years ago

vimでコピーした時にclipboardにもコピーするようにもできるのですが( http://qiita.com/m_osumi/items/3ca4ab80fc465d8eed7e )、私はなんとなくマウスでコピペすることが多いのでそういう方はGUI試してみる価値あるかもですね〜

関係ないですが何故か矩形読めない事件を思い出したw2年半も経つのか(しみじみ)

.@ohtsuka_t さん「これをこうします…で、あれ、これ何形でしたっけ」みんな「矩形です!!!」 #yochiyochirb
— よちよち.rb のゆかお(Yuka) (@yucao24hours) 2014, 4月 28
5t111111 commented 7 years ago

以前 GVim (MacVim) を結構使ってましたが、2人が言ってるみたいにマウスで選択とかに優位性がありますね。

「マウス使わないよ!」って人も多いとは思うんですが、この辺個人的には結構でかいと思ってて、それは日本語を扱うときの快適さが相当違うからです。

Vim は単語区切りのはっきりした英文やプログラムとかではかなり快適に操作できますが日本語入力に関してはぶっちゃけ超使いづらいと思ってます。改行の少ない日本語の文章で編集したい箇所にカーソルを持っていったり範囲選択したりというのは (Migemo 使えばだいぶマシになるとはいえ) かなり厳しいですよね。そんなときにマウス使えるのはかなり嬉しいです。

あとは日本語の場合、そもそも Vim と IME との相性が悪い (Vim がモーダル x IME がモーダル で常にそれらの組み合わせを意識しないといけない) のですが、GVim なら IME の ON/OFF でカーソルの色を変えたりできるのも Vim での日本語入力に優しい点です。

一方でターミナルから起動する Vim と違ってカレントディレクトリや環境変数などのシェルの情報が引き継がれないのはちょっとやりづらいところですね。

なので、Vim/GVim の使い分けは結構アリだと思ってる派です。

ちなみに私は日本語使うなら Atom を立ち上げます 🙈

to0526 commented 7 years ago

fmfm,なるほどです!

一方でターミナルから起動する Vim と違ってカレントディレクトリや環境変数などのシェルの情報が引き継がれないのはちょっとやりづらいところですね。

そうなんですよねぇ、ディレクトリに関して言うと、昔MacVim使おうと思ったことがあったのですが、Spotlight検索で立ち上げて -> ディレクトリ移動して…というのが面倒で止めたことがあります しかし今回ターミナル上からmvimと打つとホームディレクトリをよろしくやってくれるということがわかったのでその点では気にならなくなりました

最後w

5t111111 commented 7 years ago

しかし今回ターミナル上からmvimと打つとホームディレクトリをよろしくやってくれるということがわかったのでその点では気にならなくなりました

おお、なるほど!確かにこれなら良さそうですね

katorie commented 7 years ago

関係ないですが何故か矩形読めない事件を思い出したw2年半も経つのか(しみじみ)

めっちゃなつかしい!w