Vim Part29

■ このスレッドは過去ログ倉庫に格納されています
2019/02/14(木) 00:54:19.01
Vim 6以降に関する話題です。
http://www.vim.org/

前スレ
Vim Part28
https://mevius.5ch.net/test/read.cgi/unix/1526552297/

関連情報は>>2-3あたり
2020/03/13(金) 22:40:55.53
>>660
なるほど、「\1」は試したのですが、括弧が必要だったのですね。
括弧を使い、それを加えさせない為にgを加えるわけですね。
ありがとうございました。
663名無しさん@お腹いっぱい。
垢版 |
2020/03/13(金) 22:42:53.66
>>661
これ読んでわかる初心者っているのでしょうか?
2020/03/13(金) 23:30:34.93
>>663
vim内からすぐにアクセスできるドキュメントがあるのに読まないのはありえない
読んでわからなかったらどこかの解説記事を探してぐぐるべき
2020/03/13(金) 23:43:25.19
>>663
正規表現は分かってるけど
vimが分かってないvimの初心者なら
読めば分かる

659のように正規表現自体を理解してない人は
正規表現から先に学ぶべき
2020/03/13(金) 23:51:15.47
>>662
gの解釈は多分違うぞ
最初だけでなく複数回マッチした場合も全部置換する
2020/03/14(土) 00:11:56.76
>>663
そう突っかからず専ブラで正規表現NGとかから楽しくお勉強してみませんかね?
正規表現道場とかもどこかの板にあったよ
2020/03/14(土) 08:37:02.73
とりあえずVIMの正規表現は常にvery magicモードでやるのが基本だね
2020/03/14(土) 08:55:57.47
magicモードの方はsedに似てるから達人は好むのかと思ってた
2020/03/20(金) 03:52:42.01
nnoremap [hoge] <Nop>
nmap <Space>h
nnorema [hoge]f :Fuga<CR>

上記のようなものを見かけて意味としては理解できるんですがこの[]で囲むののヘルプを見つけることが出来ませんでした
なんて調べればhelpでてきますか?
2020/03/20(金) 09:12:26.68
>>670
2行目は多分 nmap <Space>h [hoge] でしょ
スペースhと打てば単純に[hoge]が入力されるだけ
スペースhfと打てばFugaコマンドが実行されるようになるのが3行目
2020/03/20(金) 12:53:29.31
>>670
括弧で囲んでいるのは見た目以上の意味はない
単なるマッピング
2020/03/20(金) 19:03:59.24
>>671
二行目おっしゃるとおりですtypoしました
>>672
それだけだったんですか…ありがとうございます
拍子抜けしちゃいました
2020/03/20(金) 23:46:53.92
>>668
毎回&#165;vと打つのが面倒なんだけど、デフォルトで&#165;vにするのはできないんかなぁ
2020/03/20(金) 23:47:20.11
うわ化けた
\vね
2020/03/21(土) 00:33:42.32
できる
2020/03/21(土) 01:26:46.77
>>674
>>312,313
2020/03/21(土) 13:10:47.28
>>677
それだと、exコマンド打つときに効かなくない?
エンジン自体をVery Magicにしたいのよ
2020/03/22(日) 11:50:29.62
現在位置の強調ができないんだけどなぜだろう
http://i.imgur.com/YHxRuaW.png
:source ~/.vimrcした直後は反映されるけどカーソル移動したら消える謎
2020/03/22(日) 12:31:21.52
エスパーするにも無理がある気がするがとりあえずその設定をvimrcの最下行に移してみてそれでも再発するか
再発するならプラグイン消してみてそれでも再発するか調べる
とかやってみればいいんじゃない?
2020/03/22(日) 14:39:14.61
一度設定を全部コメントアウトして確認するのがいいかな
2020/03/22(日) 15:11:08.28
vim --clean で起動してからその設定を入れて確かめてみろ
2020/03/26(木) 11:15:54.83
$ seq 3 | vim
Vim: 警告: 端末からの入力ではありません
Vim: 入力を読込み中のエラーにより終了します...
Vim: Finished.
??
2020/03/26(木) 11:40:55.25
$ seq 3 | vim -

最後のハイフン
2020/03/26(木) 15:34:24.24
pipe.vim でググると幸せになれるかも
2020/03/27(金) 02:39:29.27
git, cd, su, cat, diff, vim...-(ハイフン)でできること@コマンドライン - Qiita
https://qiita.com/ryosukes/items/b9a3b2913f72e1127e58
2020/04/02(木) 22:44:37.23
>>653
無名バッファを使うっていう手は考え付かなかった。
たしかにそのほうが便利かも知れん。
今日から切り貼りするときに試してみよう。
2020/04/03(金) 17:46:22.19
vimの空行のチルダ(~)って変更できます?
これのせいで動作が重くなる
2020/04/03(金) 19:09:58.33
>>688
endofbufferでググれ
690名無しさん@お腹いっぱい。
垢版 |
2020/04/03(金) 23:09:14.48
>>688
それで重くなるんすか?
2020/04/04(土) 02:32:28.83
highlight link EndOfBuffer Ignore
これで軽くなりました。ありがとうございます
2020/04/04(土) 03:13:00.88
>>690
重くなるよ
ハイライト系は重くなる
2020/04/04(土) 12:41:08.65
vim-airline の表示が頻繁に崩れます
代わりのお勧めがあったら教えてください
2020/04/04(土) 16:31:16.86
大丈夫だけどなあ
https://i.imgur.com/Aqau15z.png
https://i.imgur.com/jhkoUtU.png
2020/04/05(日) 10:40:14.74
>> 694 ありがとうございます
今 `gf` でファイルを移動すると、 `ln : 43` が `ln : 143` になりました
本来は `ln : 1` です こういうのを何とかできないでしょうか
2020/04/05(日) 11:11:35.66
問題ないけどなあ
https://i.imgur.com/gkMNxgA.mp4
2020/04/05(日) 13:17:36.50
>> 696 な、なに〜〜!!
動画までありがとうございます。なら自環境が悪いのかと、色々調べたところ
vimrc から set ambiwidth=double を消したら、表示崩れが無くなりました
Vim ワカラン……
2020/04/05(日) 14:27:02.18
いいってことよ
2020/04/08(水) 09:23:27.79
コピペしすぎて設定がとっちらかってるわ
項目別はしてるけどどうも
2020/04/11(土) 18:21:41.18
かなりのhelpが日本語訳されてるから
その点だけでも英語クソよわの俺にはありがたいわ。
2020/04/11(土) 18:56:37.72
Vimってどちゃくそ日本語化が進んでるような気がするんだがなんでなの?
2020/04/11(土) 19:48:14.09
コミュニティにやる気があるから
2020/04/11(土) 21:33:29.47
enc=utf8にすると、■とかが半角になってしまうんだけどしかたがないのかなぁ?
2020/04/11(土) 22:29:28.71
ターミナルエミュレータの設定
2020/04/11(土) 23:59:03.77
>>704
Windowsのgbimなんですのよ。
2020/04/11(土) 23:59:13.09
gvimね
2020/04/12(日) 02:55:25.47
>>703
:set ambiwidth=double
2020/04/12(日) 09:15:53.69
>>707
できた!ありがとう!
2020/04/12(日) 11:56:40.14
入力中の単語を消す最も早い方法は何ですか?

具体的には
i am bord_
と入力してるときに、最後の単語のスペルミスに気づいてbordのところだけ消したい
2020/04/12(日) 12:06:36.24
>>709
Ctrl+W
bashでも使えるぞ
2020/04/12(日) 12:18:52.34
>>709
<C-w> かな
2020/04/12(日) 12:42:17.54
>>710
>>711
早速ありがとうー
2020/04/12(日) 16:02:01.39
<C-o><C-w> で上書きしてたから知らんかったw
2020/04/13(月) 19:02:40.35
とはいえC-o系は便利よね
2020/04/14(火) 13:32:50.90
bashの操作はemacsらしいが使いこなせてないな
c-aの行頭とc-eの行末くらいか
2020/04/14(火) 14:29:26.36
C-dはよく使う
2020/04/14(火) 15:33:49.49
>>715
set -o vi すればいいのよ
2020/04/14(火) 18:10:55.22
Esc-fとEsc-bをAlt+fとAlt-bとかにマッピングすると捗る
2020/04/14(火) 20:11:33.78
bash の操作ですか
C-r が便利
カーソルウオークとしては、C-a, C-b, C-f, C-e ぐらいは使うかなあ
2020/04/14(火) 21:37:38.87
>>718
どうやって help 引く?
2020/04/15(水) 13:02:29.43
>>720
どういう意味?
Bashのキー束縛方法なら↓
https://www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html#index-bind
2020/04/21(火) 02:26:04.50
/単語

入力中にリアルタイムでハイライトする機能が実装された覚えがあるんですが
有効化する方法を教えてください
2020/04/21(火) 03:12:22.91
>>722
set incsearch
set hlsearch
2020/04/21(火) 20:59:48.97
Emacs教から改宗してきました。
みなさんよろしくお願い致します。
2020/04/21(火) 22:34:15.21
Emacsはよく左手の小指を酷使するというが
Vimは右手の人差し指を酷使しがち
2020/04/22(水) 06:28:04.87
>>725
移動のノーマルコマンドを駆使すればそうでもないよ
2020/04/22(水) 12:13:17.75
C-f, C-b, H, M, L, マーク以外になんかある?
2020/04/22(水) 13:46:38.80
行移動って割合も指定できるのな
50%で行の中心に移動とか
2020/04/22(水) 14:00:00.82
>>727
あああと数字Gとかか
2020/04/22(水) 14:48:53.09
b B w W e E f ^ 0 % $ G gg > などもよく使う
2020/04/22(水) 16:23:55.44
>ってインデント入れる奴じゃないの?
2020/04/22(水) 17:41:29.56
>じゃなかった}だ
2020/04/22(水) 17:44:37.28
fFtTと,;も使うとさらに良いね
ついついwWbBで移動してしまうけれども
2020/04/22(水) 18:02:59.81
そういや‘‘もよく使うわ
2020/04/22(水) 18:06:15.14
俺も右手人差し指が痛くなりやすいから
hやC-hはほぼ使わないようにしてる
それでもj, u, y, nと出番は多い

vim関係なく
日本語・英語の文字出現率的にQWERTYなら右手人差し指の出番は最多なのと
多くのキーボードの構造上右手人差し指はどうしても負担がかかりやすい
マウスやタッチパッドを右手で使ってればなおさら
2020/04/23(木) 20:03:13.26
複数タブ表示って常用してる?
窓分割だとどうも窮屈でタブの方が好きなんだが
2020/04/23(木) 22:25:03.20
>>736
してる。
set showtabline=2
って設定するくらいには常用してる。
2020/04/24(金) 22:49:43.06
起動オプションは --remote-tab-silentで
gtとgTを多用するなぁ
2020/04/25(土) 10:26:17.99
vimの設定って/etc/vim/vimrcの方に書いた方がいいのかね
homeの設定をrootの方に書いたりしてるけど
rootとhomeと同じにすると間違いそうで
2020/05/03(日) 11:43:41.79
ubuntu18.04にneovimの最新版を入れたいんだけど、neovimのPPAのレポジトリを使っても0.4.3しかインストール出来ない
最新版をインストールするならソースからコンパイルしなきゃ駄目ってことですかね(´・ω・`)
2020/05/03(日) 12:19:52.20
0.4.3が最新版
0.5はまだリリースされてないからビルドするなりnightly使うなりご自由に
https://github.com/neovim/neovim/releases
2020/05/03(日) 12:51:13.24
>>741
ありがとうございます
とりあえず安定版の0.4.3を使うことにします
2020/05/30(土) 15:48:52.93
補完するとき矢印じゃなくてtabで選びたいんですけどいい方法ないですか
744名無しさん@お腹いっぱい。
垢版 |
2020/05/30(土) 20:32:27.61
>>743
inoremap <expr> <Tab> (mode(1) == 'ic' ? "\<C-N>" : "\<Tab>")
inoremap <expr> <S-Tab> (mode(1) == 'ic' ? "\<C-P>" : "\<S-Tab>")
2020/05/31(日) 13:06:40.68
>>744
うわーありがとう
2020/05/31(日) 18:45:41.72
どなたか744の式の解説をして頂けないでしょうか
2020/05/31(日) 20:02:40.80
>>746
:h map-<expr>
式を評価した値がマッピング先になる
748名無しさん@お腹いっぱい。
垢版 |
2020/05/31(日) 20:41:23.36
>>744
ちょっと改良

inoremap <expr> <Tab> (state('a') ==# 'a' ? "\<C-N>" : "\<Tab>")
inoremap <expr> <S-Tab> (state('a') ==# 'a' ? "\<C-P>" : "\<S-Tab>")

mode() ではなく state() で状態確認(これで置換モード(R)と仮想置換モード(gR)にも対応)
==# で比較
2020/05/31(日) 21:41:34.27
744さんと748さんの式について何回も申し訳ないんですけど()内部の意味がまるでわからないです…。
vim 関数とかで検索かけてるんですけどstateとかmodeに関する詳しい記述を見つけることができませんでした
すこしばかり御教授ねがいます
2020/05/31(日) 23:46:27.62
>>749
vim scriptのことはヘルプ引いたほうが早い
:h mode()
vim script書くならそこのeval.txtは読んでおいた方がいい
2020/06/01(月) 01:09:34.93
>>750
ありがとうございます
2020/06/01(月) 02:04:54.49
多分理解できました
state("a")の値が真のときtabを矢印に置き換えて、偽のときtabをtabに置き換えるということでしょうか
2020/06/01(月) 03:30:06.28
意地の悪い言い方だが矢印で補完してるVimmerがいるとは思わなかった
普通C-n、C-pでは
2020/06/01(月) 07:13:05.00
vimに乗り換えようとしてる人なのでvimmerではないですね
今回はhelpを学んだのでvimmerに一歩近づきました
2020/06/01(月) 08:36:58.10
質問
Enterを押さずにファイル保存する方法を教えてください。

背景
コマンドラインモードでの数字入力を楽にしたくて、vimrcに
cnoremap <C-m> 1
cnoremap <C-,> 2
cnoremap <C-.> 3
cnoremap <C-j> 4
cnoremap <C-k> 5
cnoremap <C-l> 6
cnoremap <C-u> 7
cnoremap <C-i> 8
cnoremap <C-o> 9
と設定しました。

<C-m>が<CR>だったためEnterを押すと1がでるようになって
vimrcの保存ができなくなりました。
ファイルのバックアップは一切残していないです。
2020/06/01(月) 09:02:29.43
>>755
Shift-z, Shift-z
2020/06/01(月) 09:10:37.29
>>756
ありがとう。助かりました。
2020/06/02(火) 23:17:03.15
<C-x><C-n>で補完したいものを選択した状態で確定させるだけの方法を教えてください
Enterキー押すと改行されてしまうのであくまでも補完候補を確定させるだけがやりたいです
2020/06/03(水) 00:07:41.23
<C-Y>
2020/06/03(水) 02:08:02.42
ありがとうございます。
2020/06/04(木) 16:56:08.81
人口結構居るんだな。
2020/06/04(木) 21:25:58.04
一回話題出来ると伸びるよね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況