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あたり

742 :名無しさん@お腹いっぱい。:2020/05/03(日) 12:51:13 .net
>>741
ありがとうございます
とりあえず安定版の0.4.3を使うことにします

743 :名無しさん@お腹いっぱい。:2020/05/30(土) 15:48:52.93 .net
補完するとき矢印じゃなくてtabで選びたいんですけどいい方法ないですか

744 :名無しさん@お腹いっぱい。:2020/05/30(土) 20:32:27 .net
>>743
inoremap <expr> <Tab> (mode(1) == 'ic' ? "\<C-N>" : "\<Tab>")
inoremap <expr> <S-Tab> (mode(1) == 'ic' ? "\<C-P>" : "\<S-Tab>")

745 :名無しさん@お腹いっぱい。:2020/05/31(日) 13:06:40.68 .net
>>744
うわーありがとう

746 :名無しさん@お腹いっぱい。:2020/05/31(日) 18:45:41.72 .net
どなたか744の式の解説をして頂けないでしょうか

747 :名無しさん@お腹いっぱい。:2020/05/31(日) 20:02:40.80 .net
>>746
:h map-<expr>
式を評価した値がマッピング先になる

748 :名無しさん@お腹いっぱい。:2020/05/31(日) 20:41:23.36 .net
>>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)にも対応)
==# で比較

749 :名無しさん@お腹いっぱい。:2020/05/31(日) 21:41:34.27 .net
744さんと748さんの式について何回も申し訳ないんですけど()内部の意味がまるでわからないです…。
vim 関数とかで検索かけてるんですけどstateとかmodeに関する詳しい記述を見つけることができませんでした
すこしばかり御教授ねがいます

750 :名無しさん@お腹いっぱい。:2020/05/31(日) 23:46:27.62 .net
>>749
vim scriptのことはヘルプ引いたほうが早い
:h mode()
vim script書くならそこのeval.txtは読んでおいた方がいい

751 :名無しさん@お腹いっぱい。:2020/06/01(月) 01:09:34.93 .net
>>750
ありがとうございます

752 :名無しさん@お腹いっぱい。:2020/06/01(月) 02:04:54.49 .net
多分理解できました
state("a")の値が真のときtabを矢印に置き換えて、偽のときtabをtabに置き換えるということでしょうか

753 :名無しさん@お腹いっぱい。:2020/06/01(月) 03:30:06.28 .net
意地の悪い言い方だが矢印で補完してるVimmerがいるとは思わなかった
普通C-n、C-pでは

754 :名無しさん@お腹いっぱい。:2020/06/01(月) 07:13:05.00 .net
vimに乗り換えようとしてる人なのでvimmerではないですね
今回はhelpを学んだのでvimmerに一歩近づきました

755 :名無しさん@お腹いっぱい。:2020/06/01(月) 08:36:58.10 .net
質問
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の保存ができなくなりました。
ファイルのバックアップは一切残していないです。

756 :名無しさん@お腹いっぱい。:2020/06/01(月) 09:02:29 .net
>>755
Shift-z, Shift-z

757 :名無しさん@お腹いっぱい。:2020/06/01(月) 09:10:37.29 .net
>>756
ありがとう。助かりました。

758 :名無しさん@お腹いっぱい。:2020/06/02(火) 23:17:03 .net
<C-x><C-n>で補完したいものを選択した状態で確定させるだけの方法を教えてください
Enterキー押すと改行されてしまうのであくまでも補完候補を確定させるだけがやりたいです

759 :名無しさん@お腹いっぱい。:2020/06/03(水) 00:07:41.23 .net
<C-Y>

760 :名無しさん@お腹いっぱい。:2020/06/03(水) 02:08:02.42 .net
ありがとうございます。

761 :名無しさん@お腹いっぱい。:2020/06/04(木) 16:56:08.81 .net
人口結構居るんだな。

762 :名無しさん@お腹いっぱい。:2020/06/04(木) 21:25:58.04 .net
一回話題出来ると伸びるよね

763 :名無しさん@お腹いっぱい。:2020/06/05(金) 09:37:01 .net
{で段落移動できるけどコマンドラインモードでこれ指定できる?
sedより行操作が楽なんでexやedであれこれしたい

764 :名無しさん@お腹いっぱい。:2020/06/05(金) 15:49:54.20 .net
normal {とかそういう話?

765 :名無しさん@お腹いっぱい。:2020/06/06(土) 16:51:43.25 .net
指定行以外の削除ってvimはどう指定する?
1,3dはできてもsedみたいに1,3!dはできないのね

766 :名無しさん@お腹いっぱい。:2020/06/06(土) 17:39:42 .net
指定行ヤンクして全部消したら?

767 :名無しさん@お腹いっぱい。:2020/06/06(土) 18:00:51.17 .net
:%!sed '4,7\!d'

768 :名無しさん@お腹いっぱい。:2020/06/11(木) 11:24:46.21 .net
最近vim使い始めました
難しー(_ _).。o○

769 :名無しさん@お腹いっぱい。:2020/06/11(木) 17:49:07.46 .net
慣れてくると他のエディタやブラウザのテキストエリア等でjjjjjjjとかやりだす

770 :名無しさん@お腹いっぱい。:2020/06/11(木) 18:01:54.28 .net
いやならねーよ
頭の切り替えできない人?

771 :名無しさん@お腹いっぱい。:2020/06/11(木) 18:05:01.14 .net
普通になるけど

772 :名無しさん@お腹いっぱい。:2020/06/11(木) 18:43:25.80 .net
>>765
:1,3d|%d|put 0
とか

773 :名無しさん@お腹いっぱい。:2020/06/11(木) 18:43:53.02 .net
:1,3y|%d|put 0
だった

774 :名無しさん@お腹いっぱい。:2020/06/11(木) 20:59:41.03 .net
:wqa

775 :名無しさん@お腹いっぱい。:2020/06/11(木) 22:05:28.11 .net
数年前に自分でvim環境を作っています。

vimの入力モードで
../../

/home/user/
などのようにスラッシュまで入れるとそのディレクトリのファイル一覧のリストが出る設定を使っていました。
この機能はおそらくneocomplecacheプラグインの機能だと思っています。

neocomplecacheが更新終了しているので、neocompleteに乗り換えたのですが、上記のスラッシュでリストがでなくなってしまいました。
どうすれば出るようにできますか?

neocompleteの設定は下記URLの「Configuration Examples」にある設定をそのままコピペして使っています。
https://github.com/Shougo/neocomplete.vim

776 :名無しさん@お腹いっぱい。:2020/06/11(木) 23:17:56.42 .net
>>775
プラグインの機能ではないしneocompleteも開発は終わってる
手動補完なら<C-X><C-F>でファイル補完はできる
ちなみにdeopleteなら入れるだけで自動補完の候補に出てくる

777 :名無しさん@お腹いっぱい。:2020/06/11(木) 23:36:32.49 .net
:imap / /<C-X><C-F> で行けるぜ!

778 :名無しさん@お腹いっぱい。:2020/06/12(金) 14:44:31.59 .net
vimで、他の高機能エディターのHTML preview的なプラグインってありますか?

779 :775:2020/06/12(金) 23:12:24.86 .net
>>776
neocompleteも終了してましたね。。気づかなかった。
deopleteで補完できました。
ありがとうございます!

>>777
これも補完できるんですかね。
シームレスな補完ではなさそうですが標準機能でできるのはいいですね。

780 :名無しさん@お腹いっぱい。:2020/06/16(火) 23:28:57.39 .net
vim環境をlinuxのシェルスクリプトで自動作成する環境を作っています。
今回プラグイン管理をvim+neobundleからneovim+deinに移行しました。

neobundleのときはバッチでプラグインをインストールしたあとに書きファイルをシェル内のperlワンライナーで直接書き換えて
*.aaaの拡張子は"#"のコメントに追加、*.bbbは"//"のコメントに追加、などを追記していました。

hrp/EnhancedCommentify/plugin/EnhancedCommentify.vim

しかしdeinではプラグインインストールがneovim初回起動時にインストールされるため、シェルでの自動作成時に上記の
EnhancedCommentify.vimファイル
が存在しません。
そこでプラグインをインストールするためにシェルスクリプト内でneovimを仮起動させてプラグインをインストールしようと思うのですが、neovimのオプションにそのようなオプションはありますか?

781 :名無しさん@お腹いっぱい。:2020/06/17(水) 00:11:53.78 .net
何がやりたいのかわからないが-cか-Sでコマンドは外部から指定できる

782 :名無しさん@お腹いっぱい。:2020/06/17(水) 01:05:42.38 .net
deinはvim初回起動時にプラグインをインストールするため、下記のようにシェル内でダミーで起動させそのままシェル内で設定追記をしようとしています。

#!/bin/sh -

# 仮起動しプラグインをインストール
nvim ~/.zshrc -c quit

# インストールされたEnhancedCommentify.vimに対して任意の拡張子(suffix1, suffix2)を追記
perl -i.org -pe 's/(xkb)/\1\\|suffix1/; s/(\|xmath)/\1\\|suffix2/' ~/.cache/dein/repos/github.com/hrp/EnhancedCommentify/plugin/EnhancedCommentify.vim

########
ちなみに
nvim *** -c quit
としたところ
^[[I
という文字列がターミナルに出てきましたが、これはこういうものでしょうか?

783 :名無しさん@お腹いっぱい。:2020/06/17(水) 11:46:46.21 .net
Vim Advent Calendar 2019
https://qiita.com/advent-calendar/2019/vim
Vim2 Advent Calendar 2019
https://qiita.com/advent-calendar/2019/vim2
vim3 Advent Calendar 2019
https://qiita.com/advent-calendar/2019/vim3
Vim Short Tips Advent Calendar 2019
https://qiita.com/advent-calendar/2019/vim-short-tips
Vim Advent Calendar 2018
https://qiita.com/advent-calendar/2018/vim
Vim その2 Advent Calendar 2018
https://qiita.com/advent-calendar/2018/vim2

784 :名無しさん@お腹いっぱい。:2020/06/17(水) 11:48:23.89 .net
Vim Advent Calendar 2017
https://qiita.com/advent-calendar/2017/vim
Vim2 Advent Calendar 2017
https://qiita.com/advent-calendar/2017/vim2
Vim 8.0 Advent Calendar 2016
https://qiita.com/advent-calendar/2016/vim8
Vim Advent Calendar 2016
https://qiita.com/advent-calendar/2016/vim
Vim (その2) Advent Calendar 2016
https://qiita.com/advent-calendar/2016/vim2
Vim Advent Calendar 2015
https://qiita.com/advent-calendar/2015/vim
Vim Advent Calendar 2014
https://qiita.com/advent-calendar/2014/vim

785 :名無しさん@お腹いっぱい。:2020/06/17(水) 22:25:14.24 .net
とりあえず
>>782
のシェルスクリプトでうまくいってそうです。
>>781さんありがとうございました。

786 :名無しさん@お腹いっぱい。:2020/06/18(木) 12:53:00.92 .net
プラグインマネージャー自体が多くて意味不明なんだよな
開発者が保守を止める度に乗り換えるのもアホだし
何より拡張入れるのが目的になるのが明白だったからな

787 :名無しさん@お腹いっぱい。:2020/06/18(木) 13:03:03.92 .net
もうvimはneovimにして何も拡張入れなくなった
メインのエディタはvscodeにvinプラグインをいれたやつ(´・ω・`)

788 :名無しさん@お腹いっぱい。:2020/06/18(木) 13:03:54.15 .net
プラグイン管理は最低限でいいなら標準機能でどうにかなる
しかしあれこれプラグイン入れだすと扱いが煩雑になって楽にするためにちょっと凝った管理をしたくなり
色々工夫していたら「これなら人気のプラグインマネージャー入れた方が早くない?」となる

789 :名無しさん@お腹いっぱい。:2020/06/18(木) 16:18:25.11 .net
vim-plug は簡素できにいった

790 :名無しさん@お腹いっぱい。:2020/06/18(木) 18:34:15.56 .net
僕は、minpacちゃん

791 :名無しさん@お腹いっぱい。:2020/06/18(木) 19:36:29.62 .net
僕はプラグイン無しのVim8ちゃん、Neovimちゃんの方がカワイイの?

792 :名無しさん@お腹いっぱい。:2020/06/18(木) 19:50:58.53 .net
たぶんVimちゃんの方がNeovimちゃんより長生きすると思うよ

793 :名無しさん@お腹いっぱい。:2020/06/18(木) 20:16:42.93 .net
プラグイン無しならどっちも大差ない

794 :名無しさん@お腹いっぱい。:2020/06/18(木) 20:52:30.27 .net
「プラグイン」と呼べるのか分からんけど,vim-help-jpだけ,
$VIM/plugに入れてる。

795 :名無しさん@お腹いっぱい。:2020/06/19(金) 00:16:10.08 .net
職場のエンジニアに、サクラエディタなんか使ってたらばかになるからやめろと忠告したが、聞き入れてくれなかった

796 :名無しさん@お腹いっぱい。:2020/06/19(金) 00:19:15.88 .net
もともとばかならしかたない
vimに変えたところで能力がアップするわけでもないし
馬の耳に念仏

797 :名無しさん@お腹いっぱい。:2020/06/19(金) 01:00:02 .net
矢印キーを押しながらカーソルが動いていくのをただ見つめてるSakurerと、より短いストロークで編集するにはどうしたら効率がよいのか常に戦略を立てながらの編集を余儀なくされる我々Vimmerとで、どちらが先に惚けるか答えは明白であろう

798 :名無しさん@お腹いっぱい。:2020/06/19(金) 07:41:50.19 .net
サクラエディタで10年やってる奴おったが
結構速くてビビった記憶はある

でも冷静に考えれば10年もやりゃあれくらいになるかと後から思った

799 :名無しさん@お腹いっぱい。:2020/06/19(金) 11:26:00.08 .net
エディタの種類でバカになるって指摘するほうがバカっぽいぞ。
少なくともその同僚からはバカじゃねーのって思われてる。
直したほうがいいと思ってるなら論理的に説得すべきだ

800 :名無しさん@お腹いっぱい。:2020/06/19(金) 11:59:17.61 .net
過去ログ漁ってたら今はずいぶんと有名な人がこのスレに出入りしてて驚いたわ

801 :名無しさん@お腹いっぱい。:2020/06/19(金) 12:47:15.35 .net
エディタに限らずあらゆることに当てはまる話だけど聞かれてもいないのに勝手に自分のおすすめ紹介するのは例外なく害悪

802 :名無しさん@お腹いっぱい。:2020/06/19(金) 13:16:55.05 .net
日本語のドキュメント書くときだけはvimを使いたくない(´・ω・`)

803 :名無しさん@お腹いっぱい。:2020/06/19(金) 19:20:05.77 .net
日本語は毛筆以外考えられんな

804 :名無しさん@お腹いっぱい。:2020/06/20(土) 10:57:47 .net
Vimのモードという概念と入力メソッドのモードという概念が競合するのは,
もうどうしようもないな。
中国人あたりが持ち前のずうずうしさ(失礼!)とかで,
Vimの挙動を変更できるようにしてくれるんじゃないかと期待してるw

805 :名無しさん@お腹いっぱい。:2020/06/20(土) 11:37:15.57 .net
eskkでも使ったら?

806 :名無しさん@お腹いっぱい。:2020/06/20(土) 11:54:47.63 .net
日本語のドキュメント書くときもvim使っているけど、全然苦じゃない
Windowsの変換・無変換キーでIMEの有効無効をMac風にすると超快適

807 :名無しさん@お腹いっぱい。:2020/06/20(土) 12:06:26.43 .net
fやtでジャンプしづらくなるのは相当苦だと思うが使ってないのかしら

808 :名無しさん@お腹いっぱい。:2020/06/20(土) 14:31:39.47 .net
vimのskk 使っても ft はあまり機能しない
一応 r は1文字確定だから 2文字以上の漢字で入力すればミスのリカバーは簡単

809 :名無しさん@お腹いっぱい。:2020/06/20(土) 15:04:15.59 .net
>>807
別のエディタ使ってもvimのf相当の移動を日本語で快適にはできないと思う
苦かどうかはあくまで他の選択肢との比較なんだからどれでも同じぐらい不便なら苦ではない

810 :名無しさん@お腹いっぱい。:2020/06/20(土) 15:58:49.54 .net
.vimrcファイルの1行コメントは先頭にダブルクォーテーションですが、
複数行をコメントアウトするものは何かありますか?
c言語の /* */
pythonの """ """
のようなものを考えています。

811 :名無しさん@お腹いっぱい。:2020/06/20(土) 17:33:04.55 .net
>>810
Pythonのそれはコメントアウトではないぞ
あくまで複数行文字列
代入されてないからなんの役目も果たしておらずコメントアウトっぽく見えるだけ
Pythonには複数行コメントは無い

812 :名無しさん@お腹いっぱい。:2020/06/20(土) 17:35:21.50 .net
ドキュメンテーションコメントを勘違いしちゃってるんだろうね

813 :名無しさん@お腹いっぱい。:2020/06/20(土) 17:46:19.88 .net
ともあれ vim にはコメントアウトの複数行はない

814 :名無しさん@お腹いっぱい。:2020/06/20(土) 20:45:14.95 .net
拡張マシマシはデスクトップ改造みたいなもんよ
最終的に更地にするまでがお使い

815 :名無しさん@お腹いっぱい。:2020/06/20(土) 21:45:31.94 .net
surround的な機能は本体に組み込んでしまっていい気がする
でもsurround.vim自体はリピートがうまくできないから公式化はダメだな

816 :名無しさん@お腹いっぱい。:2020/06/20(土) 23:38:37.40 .net
>>813
30.
みたいのじゃだめなの?

817 :名無しさん@お腹いっぱい。:2020/06/20(土) 23:40:36.68 .net
>>816
本気で言ってるのか

818 :名無しさん@お腹いっぱい。:2020/06/22(月) 08:19:29.28 .net
前回のカーソル位置復元と前回開いたファイル復元ってない?

819 :名無しさん@お腹いっぱい。:2020/06/22(月) 08:22:23.57 .net
ある

820 :名無しさん@お腹いっぱい。:2020/06/22(月) 08:22:38.58 .net
あるね

821 :名無しさん@お腹いっぱい。:2020/06/23(火) 23:15:02.65 .net
>>811-813
pythonのはコメントではなかったですね、失礼しました。
vimrcには複数行コメントはないんですね。

822 :名無しさん@お腹いっぱい。:2020/07/08(水) 15:07:33.16 .net
windowsでneovimのnvim-qt.exeを使っている場合に、IME入力すると、
変換中の文字幅と、変換後の文字幅が異なるのですが、設定でどうにかならないでしょうか?
(つまり、確定すると文字幅が少し広くなって、カーソルごと右へ移動する……)

823 :名無しさん@お腹いっぱい。:2020/07/08(水) 18:57:50.55 .net
2020年6月30日 Fedora,デフォルトエディタに「nano」を採用へ:Linux Daily Topics|gihyo.jp … 技術評論社
https://gihyo.jp/admin/clip/01/linux_dt/41187/30
viは古参のUNIXユーザなどの間では根強い人気を誇るが,GUIに慣れたユーザにとっては操作が難解で,敬遠しがちな存在でもある。
FedoraのBen Cottonは,「&#8288;コミットしようとするとviがデフォルトで立ち上がってしまうことで,Fedoraへの乗り換えを検討していたユーザの
入り口をバリアでふさいでしまっている」(&#8288;Ben Cotton / Fedoraプロジェクト)と指摘している。

ごもっともで

824 :名無しさん@お腹いっぱい。:2020/07/08(水) 21:41:54.27 .net
git commitでvi系以外のエディタが起動してきたとは焦る(´・ω・`)

825 :名無しさん@お腹いっぱい。:2020/07/08(水) 22:03:48.28 .net
それな

826 :名無しさん@お腹いっぱい。:2020/07/08(水) 22:21:39.59 .net
gitは設定しろよ

827 :名無しさん@お腹いっぱい。:2020/07/08(水) 22:31:13.76 .net
めったに起こらないことだから焦るんよ
OSインストール直後とか

828 :名無しさん@お腹いっぱい。:2020/07/09(木) 02:12:33.25 .net
alias nano vim

829 :名無しさん@お腹いっぱい。:2020/07/09(木) 03:17:06.48 .net
nanoの方が操作わからない
間違って起動したら毎回下のキーバインド見て閉じてる

830 :名無しさん@お腹いっぱい。:2020/07/09(木) 05:37:10 .net
四の五の言ったところでカンペがあるかどうかは雲泥の差だからアキラメロン
前知識なしで^がctrlだと気付けるかって問題はあるが

831 :名無しさん@お腹いっぱい。:2020/07/16(木) 10:53:41.76 .net
Vimの組込みPythonを使ってスクラッチパッドに書いたPythonを
素早く実行したいんだけど、何か良い方法ある?
普通のファイルの場合は「py3file <ファイル>」ってやるのが手っ取り早い方法
だろうけど、スクラッチパッドの性質上実行できない。

832 :名無しさん@お腹いっぱい。:2020/07/16(木) 12:12:36.28 .net
:%pyじゃダメなの?

833 :名無しさん@お腹いっぱい。:2020/07/16(木) 13:14:05.74 .net
>>832
「E471 引数が必要です」
って怒られる。
:pyの仕様を見ると,
第1引数に何らかのPythonの構文を書かないといけないみたい。

今やりたいのは
「:%」で示してくれたように単に文書全文をPythonとして実行したいってこと。

834 :名無しさん@お腹いっぱい。:2020/07/16(木) 13:40:53.89 .net
>>831
コマンド書くしかなさそうだね

function! s:Python3 (startline, endline)
execute 'python3' join(getline(a:startline, a:endline), "\n")
endfunction
command! -range Python3 call <SID>Python3(<line1>, <line2>)

:%Python3 でバッファ全体
もちろん範囲選択も可

835 :名無しさん@お腹いっぱい。:2020/07/16(木) 14:18:25.53 .net
:%!python3
外部のpython呼び出すことになるけど、どのみち依存関係でpython入ってるだろ

836 :名無しさん@お腹いっぱい。:2020/07/16(木) 17:06:40 .net
>>834
ありがとう!

837 :名無しさん@お腹いっぱい。:2020/07/20(月) 14:34:09 .net
Vimの内蔵端末(:termとかで開ける奴)で,
シェルを使う時にバックスペースとかが効かないんだけど,
どんな設定を疑ったらいい?
シェル側の問題なのかVim側の問題なのかも分からなくて,
途方に暮れてる。

838 :名無しさん@お腹いっぱい。:2020/07/20(月) 14:42:17 .net
情報が何もなくて途方に暮れてる

839 :名無しさん@お腹いっぱい。:2020/07/20(月) 17:15:22 .net
bash の類いを vim 上で走らせるのはつらいのでは?
vim-shell などはあるが C-Z 使ってる

840 :名無しさん@お腹いっぱい。:2020/07/20(月) 17:43:51 .net
>>837
シェル側の問題の可能性があるなら別のシェル入れれば分かるんじゃないの

841 :名無しさん@お腹いっぱい。:2020/07/20(月) 19:15:31.61 .net
>>839
7.4で知識が止まってるのかよ

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

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