2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Vim Part29

1 :名無しさん@お腹いっぱい。:2019/02/14(木) 00:54:19.01 .net
Vim 6以降に関する話題です。
http://www.vim.org/

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

関連情報は>>2-3あたり

609 :名無しさん@お腹いっぱい。:2019/12/31(火) 23:29:43.66 .net
日付挿入の件だけど,
具体的な実装を出せないくらいVimスクリプト初学者が言うと
特定のファイルが開かれる
→それが今日開くのが二度目ならなにもしない
→そうでなければ今日の日付けをバッファに読み込んだ後に挿入

これだけで実現できそう。

610 :名無しさん@お腹いっぱい。:2020/01/02(木) 15:25:51.41 .net
autodate.vimのフック処理を開いたときにも適用すればいいんじゃないのかな
開いたときじゃなくて保存時でいいならそのまま使える

611 :名無しさん@お腹いっぱい。:2020/01/10(金) 00:57:03.72 .net
お前らって拡張はいくつ入れてるの?無闇に入れてもどうせ持て余すしよ
プラグインマネージャー自体が無駄に多くて余計訳わからんし

612 :名無しさん@お腹いっぱい。:2020/01/10(金) 01:12:28.00 .net
Vundle
vim-airline
vimdoc-ja

613 :名無しさん@お腹いっぱい。:2020/01/10(金) 23:56:51 .net
NeoBundle 'vim-jp/vimdoc-ja'
NeoBundle 'tpope/vim-sensible.git'
NeoBundle 'vim-scripts/vim-auto-save'
NeoBundle 'skanehira/vsession'
NeoBundle 'tpope/vim-surround'

614 :名無しさん@お腹いっぱい。:2020/01/11(土) 02:32:45 .net
ゴリラさんのがある

615 :名無しさん@お腹いっぱい。:2020/01/11(土) 14:37:26.38 .net
開発用に使うから各言語用プラグインとか入れてると結果的に40個ぐらいになっている

616 :名無しさん@お腹いっぱい。:2020/01/11(土) 15:10:14.24 .net
自分も39個入ってた

617 :名無しさん@お腹いっぱい。:2020/01/11(土) 15:55:58.83 .net
Plug 'junegunn/vim-plug', {'dir': '~/.vim/plugged/vim-plug/autoload'}
Plug 'vim-jp/vimdoc-ja'
Plug 'scrooloose/nerdcommenter'
Plug 'scrooloose/nerdtree'
Plug 'jistr/vim-nerdtree-tabs', {'on': 'NERDTreeToggle'}
Plug 'severin-lemaignan/vim-minimap'
Plug 'vim-scripts/sudo.vim'
Plug 'vim-scripts/taglist.vim'
Plug 'vim-scripts/gtags.vim'
Plug 'vim-scripts/SrcExpl'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'thinca/vim-quickrun', {'on': 'QuickRun'}
Plug 'Shougo/vimproc.vim', {'do': 'make', 'on': 'QuickRun'}
Plug 'Shougo/vimshell.vim'
Plug 'Shougo/neocomplete.vim'
Plug 'Shougo/vinarise.vim'
Plug 'davidhalter/jedi-vim', {'for': 'python'}
Plug 'mrkn/mrkn256.vim', {'do': 'cp ~/.vim/plugged/mrkn256.vim/colors/mrkn256.vim ~/.vim/colors/'}
Plug 'vim-scripts/grep.vim'
Plug 't9md/vim-quickhl'
Plug 'haya14busa/incsearch.vim'
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all'}
Plug 'junegunn/fzf.vim'

スマフォで使ってる設定だから最低限だぜ?って言おうとしたら
それでも24個入ってたw
面倒になって結局共通化したんだったわ

618 :名無しさん@お腹いっぱい。:2020/01/11(土) 17:43:33.56 .net
拡張入れすぎて遅くなったり重くなったりしないのか

619 :名無しさん@お腹いっぱい。:2020/01/12(日) 11:13:14.41 .net
拡張は起動時に全部読み込むから突っ込み過ぎたら当然もたつくよ
遅延読み込みできるプラグインマネージャーもあるらしいがよくは知らん
マネージャーの記述自体が煩雑化してアレ

620 :名無しさん@お腹いっぱい。:2020/01/12(日) 11:27:41.05 .net
deinなら遅延フラグと起動オプションを設定するだけだから大して難しくはない
起動オプションは特定形式のファイル開いたときとか、特定のコマンドが呼ばれた時とか

621 :名無しさん@お腹いっぱい。:2020/01/12(日) 17:50:02.07 .net
新年というとこで自宅遊び用は
.vimrc を一掃して


Plug 'prabirshrestha/async.vim'
Plug 'prabirshrestha/asyncomplete.vim'
Plug 'prabirshrestha/asyncomplete-lsp.vim'
Plug 'prabirshrestha/vim-lsp'
Plug 'mattn/vim-lsp-settings'


とりま、これで
あとはremap で、なんとか、、、
は行かなくて、意地でやってる(非効率)

622 :名無しさん@お腹いっぱい。:2020/01/12(日) 17:51:41.21 .net
>>617
スマホって ssh で?
iVim とか?

623 :名無しさん@お腹いっぱい。:2020/01/12(日) 18:01:55.48 .net
>>622
LinuxDeployでdebianダヨ

624 :名無しさん@お腹いっぱい。:2020/01/12(日) 20:32:21.21 .net
>>623
あざます!

625 :名無しさん@お腹いっぱい。:2020/01/14(火) 21:34:12.40 .net
100個くらい入れてる
自前の設定集を含めて
気が向いたときに不要なの整理してる
全部覚えとくの無理だからなるべく覚えない方針
遅延読み込みしてれば体感は軽くできる

626 :名無しさん@お腹いっぱい。:2020/01/15(水) 23:27:35 .net
インストールが目的化して最終的に更地にするのまでがデフォ
デスクトップ改造と同じよ

627 :名無しさん@お腹いっぱい。:2020/02/04(火) 12:50:51 .net
最近のVimはバニラでも高級なことができるからほぼ要らない。
特殊なことしたけりゃVimスクリプトじゃなくて組み込みのPython使えばいいし。

でもまあ、面白いプラグインも結構あるよね。音楽流したりw

628 :名無しさん@お腹いっぱい。:2020/02/04(火) 15:44:42 .net
端末から直接vimのヘルプを引く方法を教えろ下さい
manみたいにできないか

629 :名無しさん@お腹いっぱい。:2020/02/04(火) 17:02:37.01 .net
$ vim +h (調べたい項目)

$ vim +h popup

630 :名無しさん@お腹いっぱい。:2020/02/04(火) 17:18:31 .net
onlyつけた方が見やすいな
$ vim +'h (調べたい項目)|only'
$ vim +'h popup|only'

631 :名無しさん@お腹いっぱい。:2020/02/04(火) 17:31:47 .net
vim-h () {
vim +":help ${1:help}|only"
}
$ vim-h c
引数なしだとhelpトップになる
helpを閉じてもvimが残ってて困ってたけどonly便利だな

632 :名無しさん@お腹いっぱい。:2020/02/04(火) 17:33:16 .net
alias man=vim +h

633 :名無しさん@お腹いっぱい。:2020/02/05(水) 21:15:10 .net
>>628
拙作ですまんが
https://gist.github.com/cmplstofB/da3b33938320b0227229f771cd12d6e3

634 :名無しさん@お腹いっぱい。:2020/02/08(土) 15:07:10 .net
Gが最終行でggが先頭行ってのが不可解なんだけどどう解釈すればいいの
hjklでさえ慣れたのにこれは一向に

635 :名無しさん@お腹いっぱい。:2020/02/08(土) 15:14:31.79 .net
先頭行は1Gにしとる

636 :名無しさん@お腹いっぱい。:2020/02/08(土) 16:26:26 .net
gの意味は素直にgoだと思う
Gの対がggなのは小文文字のgで始まるコマンドが沢山あるからだろうな
gがマップリーダーになってるから単独のgは使えないと
なんでGで下に行くかは知らん

637 :名無しさん@お腹いっぱい。:2020/02/08(土) 16:49:04.52 .net
GはGyou(行)の頭文字だから数字Gで数字の行に移動できる
ここでGにデフォルトの値を与えることを考える
Gのデフォルトは1でも10でも100でも何でも良いが、最初または最後の行に移動するという頻繁に使われるのがデフォルトとして適切だろう
最初の行に行く動作は常に1Gで達成できる
一方最後の行に行く動作は999...GのようにMax行数以上の数値を指定する必要がある
したがってGのデフォルトはファイルの最終行に移動が適切


ggはなんかあれでしょ1Gだよ小指がつりそうだからほら

638 :名無しさん@お腹いっぱい。:2020/02/08(土) 19:21:42 .net
ここに詳しい経緯が載ってるぞ
https://www.reddit.com/r/vim/comments/b1s7i8/why_arent_gg_and_g_switched/

639 :名無しさん@お腹いっぱい。:2020/02/08(土) 23:43:59 .net
下はG
上は:1と打ってる
EWS-UX-Vの時代から

640 :名無しさん@お腹いっぱい。:2020/02/09(日) 00:57:50 .net
末尾が$Gなのがね・・・

641 :名無しさん@お腹いっぱい。:2020/02/16(日) 18:49:33.65 .net
初歩的なんですが複数行の範囲指定ってどうすれば
50行間隔で改行を挟みたいんですが50Vとしても矩形になるし

642 :名無しさん@お腹いっぱい。:2020/02/16(日) 19:51:33.68 .net
qq50jo<ESC>q
@q

643 :名無しさん@お腹いっぱい。:2020/02/16(日) 23:00:27 .net
キーボードマクロ便利よね

644 :名無しさん@お腹いっぱい。:2020/02/17(月) 02:04:42 .net
改行挟むの処理はマクロが便利だと思うが
単にビジュアルモードで選択したいなら
V50jy とかで1度50行選択してビジュアル操作をしておくと
次から1Vで50行選択になる(2Vで100行選択)

645 :名無しさん@お腹いっぱい。:2020/02/17(月) 07:08:28.07 .net
いっそsedという手も
$ seq -w 100 | sed '1~50s/^/\n/'

646 :名無しさん@お腹いっぱい。:2020/02/25(火) 01:12:17 .net
vimって文字の切り取りだけだけど純粋な削除ってないのか
ddは実質切り取りだからレジスタが更新されて台無しになるよな
予め文字列をコピーしてから何かを消して貼り付けって自然な動作だと思ってたんだけど

647 :名無しさん@お腹いっぱい。:2020/02/25(火) 01:21:09 .net
ブラックホールレジスタでググれ

648 :名無しさん@お腹いっぱい。:2020/02/25(火) 21:13:52.18 .net
"_dd

649 :名無しさん@お腹いっぱい。:2020/02/25(火) 21:49:55.93 .net
消すときに指定はめんどくさいから”0p

650 :名無しさん@お腹いっぱい。:2020/02/25(火) 23:43:57.55 .net
ブラックホールレジスタ知らなかったわ
サンクス

651 :名無しさん@お腹いっぱい。:2020/02/26(水) 00:35:18 .net
vim五大初見殺し
・保存方法が分からない
・クリップボードが使えず不便
・切り取りだけで不便
・IMEとの相性が最悪

vimは本腰入れて覚えようとするとこれ食らうから結構萎える
最初は保存にはしゃぐけどコピペもままならないから結局手間だろって
ブラックホールレジスタなんか用語知らなきゃ出て来ないしな
nnoremap設定するだけだってのは的外れだもの

652 :名無しさん@お腹いっぱい。:2020/02/26(水) 01:27:21 .net
皆同じ不満を持ってるのでセーフ
【vimめも】 3. レジスタ - Qiita
https://qiita.com/r12tkmt/items/97afb4b489966e746b20

653 :名無しさん@お腹いっぱい。:2020/02/26(水) 07:11:38.08 .net
レジスタ使い分けるよりファイル内の適当な場所に一旦貼り付けて残しておくか無名バッファを作って作業領域にした方が簡単だと思う

654 :名無しさん@お腹いっぱい。:2020/02/26(水) 16:04:49.68 .net
yankround使ってる

655 :名無しさん@お腹いっぱい。:2020/02/27(木) 01:05:02.61 .net
指定したコマンド履歴の削除ってできないですか
入力ミスった奴を消して整理したい

656 :名無しさん@お腹いっぱい。:2020/02/27(木) 01:25:34.70 .net
>>655
.viminfo

657 :名無しさん@お腹いっぱい。:2020/02/28(金) 16:15:20.80 .net
$ printf "%s\n" foofoo{1..3} > aa.txt
$ sed '2s/foo/@/2' aa.txt
$ ed -s aa.txt <<< $'2s/foo/@/2\n,p'
foofoo1
foo@2
foofoo3
sedやedはこれで置換する行と位置を指定できるけどexはダメなのか

$ ex -s aa.txt <<< $'2s/foo/@/2\n%p'
foofoo1
@foo2
@foo3
vimだとどうやるんだこれ

658 :名無しさん@お腹いっぱい。:2020/02/28(金) 19:27:38 .net
行は指定できるから後は正規表現

659 :名無しさん@お腹いっぱい。:2020/03/13(金) 00:21:57.82 .net
vimを学び始めています。置換が良く分かりません。
正規表現で「[A|B]00000」と言う文字列を「[A|B]11111」に置き換えたい場合どうすればよいでしょうか?
調べても下記●●の部分がイマイチ分かりませんでした。
:%s/[A|B]00000/●●11111/

宜しくお願いします。

660 :名無しさん@お腹いっぱい。:2020/03/13(金) 01:26:21.08 .net
俺なら:%s/\([A|B]\)00000/\111111/g
かな?
先読み後読みが苦手だからもっといい書き方ある気もするけど

661 :名無しさん@お腹いっぱい。:2020/03/13(金) 01:28:35.16 .net
マニュアル参照
https://vim-jp.org/vimdoc-ja/pattern.html#/magic

662 :名無しさん@お腹いっぱい。:2020/03/13(金) 22:40:55.53 .net
>>660
なるほど、「\1」は試したのですが、括弧が必要だったのですね。
括弧を使い、それを加えさせない為にgを加えるわけですね。
ありがとうございました。

663 :名無しさん@お腹いっぱい。:2020/03/13(金) 22:42:53.66 .net
>>661
これ読んでわかる初心者っているのでしょうか?

664 :名無しさん@お腹いっぱい。:2020/03/13(金) 23:30:34.93 .net
>>663
vim内からすぐにアクセスできるドキュメントがあるのに読まないのはありえない
読んでわからなかったらどこかの解説記事を探してぐぐるべき

665 :名無しさん@お腹いっぱい。:2020/03/13(金) 23:43:25.19 .net
>>663
正規表現は分かってるけど
vimが分かってないvimの初心者なら
読めば分かる

659のように正規表現自体を理解してない人は
正規表現から先に学ぶべき

666 :名無しさん@お腹いっぱい。:2020/03/13(金) 23:51:15.47 .net
>>662
gの解釈は多分違うぞ
最初だけでなく複数回マッチした場合も全部置換する

667 :名無しさん@お腹いっぱい。:2020/03/14(土) 00:11:56.76 .net
>>663
そう突っかからず専ブラで正規表現NGとかから楽しくお勉強してみませんかね?
正規表現道場とかもどこかの板にあったよ

668 :名無しさん@お腹いっぱい。:2020/03/14(土) 08:37:02 .net
とりあえずVIMの正規表現は常にvery magicモードでやるのが基本だね

669 :名無しさん@お腹いっぱい。:2020/03/14(土) 08:55:57 .net
magicモードの方はsedに似てるから達人は好むのかと思ってた

670 :名無しさん@お腹いっぱい。:2020/03/20(金) 03:52:42.01 .net
nnoremap [hoge] <Nop>
nmap <Space>h
nnorema [hoge]f :Fuga<CR>

上記のようなものを見かけて意味としては理解できるんですがこの[]で囲むののヘルプを見つけることが出来ませんでした
なんて調べればhelpでてきますか?

671 :名無しさん@お腹いっぱい。:2020/03/20(金) 09:12:26.68 .net
>>670
2行目は多分 nmap <Space>h [hoge] でしょ
スペースhと打てば単純に[hoge]が入力されるだけ
スペースhfと打てばFugaコマンドが実行されるようになるのが3行目

672 :名無しさん@お腹いっぱい。:2020/03/20(金) 12:53:29.31 .net
>>670
括弧で囲んでいるのは見た目以上の意味はない
単なるマッピング

673 :名無しさん@お腹いっぱい。:2020/03/20(金) 19:03:59 .net
>>671
二行目おっしゃるとおりですtypoしました
>>672
それだけだったんですか…ありがとうございます
拍子抜けしちゃいました

674 :名無しさん@お腹いっぱい。:2020/03/20(金) 23:46:53 .net
>>668
毎回&#165;vと打つのが面倒なんだけど、デフォルトで&#165;vにするのはできないんかなぁ

675 :名無しさん@お腹いっぱい。:2020/03/20(金) 23:47:20 .net
うわ化けた
\vね

676 :名無しさん@お腹いっぱい。:2020/03/21(土) 00:33:42 .net
できる

677 :名無しさん@お腹いっぱい。:2020/03/21(土) 01:26:46.77 .net
>>674
>>312,313

678 :名無しさん@お腹いっぱい。:2020/03/21(土) 13:10:47 .net
>>677
それだと、exコマンド打つときに効かなくない?
エンジン自体をVery Magicにしたいのよ

679 :名無しさん@お腹いっぱい。:2020/03/22(日) 11:50:29 .net
現在位置の強調ができないんだけどなぜだろう
http://i.imgur.com/YHxRuaW.png
:source ~/.vimrcした直後は反映されるけどカーソル移動したら消える謎

680 :名無しさん@お腹いっぱい。:2020/03/22(日) 12:31:21.52 .net
エスパーするにも無理がある気がするがとりあえずその設定をvimrcの最下行に移してみてそれでも再発するか
再発するならプラグイン消してみてそれでも再発するか調べる
とかやってみればいいんじゃない?

681 :名無しさん@お腹いっぱい。:2020/03/22(日) 14:39:14.61 .net
一度設定を全部コメントアウトして確認するのがいいかな

682 :名無しさん@お腹いっぱい。:2020/03/22(日) 15:11:08.28 .net
vim --clean で起動してからその設定を入れて確かめてみろ

683 :名無しさん@お腹いっぱい。:2020/03/26(木) 11:15:54.83 .net
$ seq 3 | vim
Vim: 警告: 端末からの入力ではありません
Vim: 入力を読込み中のエラーにより終了します...
Vim: Finished.
??

684 :名無しさん@お腹いっぱい。:2020/03/26(木) 11:40:55.25 .net
$ seq 3 | vim -

最後のハイフン

685 :名無しさん@お腹いっぱい。:2020/03/26(木) 15:34:24.24 .net
pipe.vim でググると幸せになれるかも

686 :名無しさん@お腹いっぱい。:2020/03/27(金) 02:39:29 .net
git, cd, su, cat, diff, vim...-(ハイフン)でできること@コマンドライン - Qiita
https://qiita.com/ryosukes/items/b9a3b2913f72e1127e58

687 :名無しさん@お腹いっぱい。:2020/04/02(木) 22:44:37.23 .net
>>653
無名バッファを使うっていう手は考え付かなかった。
たしかにそのほうが便利かも知れん。
今日から切り貼りするときに試してみよう。

688 :名無しさん@お腹いっぱい。:2020/04/03(金) 17:46:22.19 .net
vimの空行のチルダ(~)って変更できます?
これのせいで動作が重くなる

689 :名無しさん@お腹いっぱい。:2020/04/03(金) 19:09:58.33 .net
>>688
endofbufferでググれ

690 :名無しさん@お腹いっぱい。:2020/04/03(金) 23:09:14 .net
>>688
それで重くなるんすか?

691 :名無しさん@お腹いっぱい。:2020/04/04(土) 02:32:28 .net
highlight link EndOfBuffer Ignore
これで軽くなりました。ありがとうございます

692 :名無しさん@お腹いっぱい。:2020/04/04(土) 03:13:00.88 .net
>>690
重くなるよ
ハイライト系は重くなる

693 :名無しさん@お腹いっぱい。:2020/04/04(土) 12:41:08.65 .net
vim-airline の表示が頻繁に崩れます
代わりのお勧めがあったら教えてください

694 :名無しさん@お腹いっぱい。:2020/04/04(土) 16:31:16.86 .net
大丈夫だけどなあ
https://i.imgur.com/Aqau15z.png
https://i.imgur.com/jhkoUtU.png

695 :名無しさん@お腹いっぱい。:2020/04/05(日) 10:40:14 .net
>> 694 ありがとうございます
今 `gf` でファイルを移動すると、 `ln : 43` が `ln : 143` になりました
本来は `ln : 1` です こういうのを何とかできないでしょうか

696 :名無しさん@お腹いっぱい。:2020/04/05(日) 11:11:35 .net
問題ないけどなあ
https://i.imgur.com/gkMNxgA.mp4

697 :名無しさん@お腹いっぱい。:2020/04/05(日) 13:17:36 .net
>> 696 な、なに〜〜!!
動画までありがとうございます。なら自環境が悪いのかと、色々調べたところ
vimrc から set ambiwidth=double を消したら、表示崩れが無くなりました
Vim ワカラン……

698 :名無しさん@お腹いっぱい。:2020/04/05(日) 14:27:02.18 .net
いいってことよ

699 :名無しさん@お腹いっぱい。:2020/04/08(水) 09:23:27 .net
コピペしすぎて設定がとっちらかってるわ
項目別はしてるけどどうも

700 :名無しさん@お腹いっぱい。:2020/04/11(土) 18:21:41 .net
かなりのhelpが日本語訳されてるから
その点だけでも英語クソよわの俺にはありがたいわ。

701 :名無しさん@お腹いっぱい。:2020/04/11(土) 18:56:37 .net
Vimってどちゃくそ日本語化が進んでるような気がするんだがなんでなの?

702 :名無しさん@お腹いっぱい。:2020/04/11(土) 19:48:14 .net
コミュニティにやる気があるから

703 :名無しさん@お腹いっぱい。:2020/04/11(土) 21:33:29.47 .net
enc=utf8にすると、■とかが半角になってしまうんだけどしかたがないのかなぁ?

704 :名無しさん@お腹いっぱい。:2020/04/11(土) 22:29:28.71 .net
ターミナルエミュレータの設定

705 :名無しさん@お腹いっぱい。:2020/04/11(土) 23:59:03 .net
>>704
Windowsのgbimなんですのよ。

706 :名無しさん@お腹いっぱい。:2020/04/11(土) 23:59:13 .net
gvimね

707 :名無しさん@お腹いっぱい。:2020/04/12(日) 02:55:25.47 .net
>>703
:set ambiwidth=double

708 :名無しさん@お腹いっぱい。:2020/04/12(日) 09:15:53.69 .net
>>707
できた!ありがとう!

709 :名無しさん@お腹いっぱい。:2020/04/12(日) 11:56:40.14 .net
入力中の単語を消す最も早い方法は何ですか?

具体的には
i am bord_
と入力してるときに、最後の単語のスペルミスに気づいてbordのところだけ消したい

総レス数 1002
222 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200