[過去ログ] Vim Part29 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
871
(1): 2020/07/25(土)01:03 AAS
自分用の補完リストをvim-lspで使いたいんですけど
参考になるプラグインか記事か何かありませんか?
872
(1): 2020/07/25(土)01:33 AAS
>>871
:h complete-functions
873: 2020/07/25(土)03:56 AAS
>>872
はい、すでにその部分は実装して自分用に補完リストを作ってあります
vim-lspとの連携方法が分かりません
874: 2020/07/25(土)12:31 AAS
補完リストって言うのがなんのことを言ってるのか
自分用にLSP Serverを作ったって事?
875
(1): 2020/07/26(日)23:44 AAS
>>844
補完とかシェル操作とかこれvim8だけで実現できるん?
876: 2020/07/27(月)10:31 AAS
>>875
補完に関してはVim7以前からできてなかったか?
自分で補完候補を生成する仕組みも,Vim8で新設された機能じゃないと思う。
877: 2020/07/28(火)08:21 AAS
補完ってC-pせずとも勝手に出せるのか
878: 2020/07/28(火)10:14 AAS
auto-comp系
879
(1): 2020/07/28(火)20:56 AAS
rgとfzfである単語を検索して、マッチしたファイルとその単語のファイル内の位置情報から、その位置にカーソルをおいた状態でファイルをvimで開くzshスクリプトを書いた

この状態でカーソルを動かさず単語を検索してハイライトさせるところまでスクリプト化したいんだけど、どうすればええんやろ
単純にコマンドラインで検索した単語をvimに渡すと、カーソルを置いた場所の次に単語にマッチする場所にカーソルが飛んてましまう(´・ω・`)
880: 2020/07/28(火)21:07 AAS
ハイライト専用プラグインとか?
Plug 'crazymanjinn/MultipleSearch_solarized', {'on': 'Search'} "Search
881: 2020/07/28(火)21:12 AAS
外部リンク:github.com
アスタリスク検索の初回でカーソル動かさなくするプラグイン
882: 2020/07/28(火)21:14 AAS
>>879
:set hlsearch | let @/ = 'ある単語'

外部リンク[html]:vim-jp.org
> このレジスタは :let で変更できるので、'hlsearch' による強調表示を、実際に検
> 索を行わずに別のマッチに適用することができる。
883: 2020/07/28(火)21:23 AAS
ありがとう
let使うのが良さそうだから試してるわ
884: 2020/07/29(水)05:42 AAS
.viminfoが分割されるんだけど何が原因だろ
コマンド履歴が減ったと思ったらなぜか.viminf{pに移動してる
885: 2020/07/29(水)06:47 AAS
sudoか何かでパーミッション変わったんじゃないか
886: 2020/07/29(水)08:08 AAS
なんかこのスレか前スレでも似たような症状の人がいたな。
解決してたかどうか忘れたが。
887: 2020/07/30(木)06:48 AAS
起動時にカーソル動かさいないで単語検索してハイライトするの出来たわ
ありがとう

nvim $file_path "+call cursor($line_number, $column_number)" "+set hlsearch | let @/ = \"$search_words\""
888: 2020/08/05(水)09:47 AAS
Vimでシンタックスハイライトの設定に対するテスト機能ってありません?
「ある文書のここの部分は,xxxVariableNameという名前でハイライトされる」
みたいなことを自動で確かめたいんです。
889: 2020/08/07(金)10:07 AAS
なさげっすね
890: 2020/08/11(火)21:41 AAS
qfixhowmのサイトが404になってる…
たまにしか使わない操作とか調べるのに使ってたのに
ヘルプはhtmlの方が見やすいからないと不便
891: 2020/08/13(木)07:48 AAS
qfixhowm直してくれたみたいだけど、急いで変換したからかいろいろ崩れてるな。
前のバックアップはないのか。兎に角ありがとうございました。
892: 2020/08/16(日)18:08 AAS
コマンドがnormal mode から呼ばれたかvisual modeから呼ばれたか判定するにはどのようにしたらよいのでしょうか?
function! Test()<br/>
if(mode()=='n')<br/>
echo "n"<br/>
elseif(mode()=='v')<br/>
echo "v"<br/>
endif<br/>
省3
893: 2020/08/16(日)18:10 AAS
<br/>改行は無視してください
894: 2020/08/16(日)19:26 AAS
visualモードから呼ぶとき(コマンドラインモードに入るとき)には先頭に’<,’>が付くだけだからやりたいことによる
マッピングの最初に<C-u>を付けて余計なものを消すことはよくある
895
(2): 2020/08/17(月)10:35 AAS
行いたい動作は下記のようなマッピングを使わずにコマンドで行いたいです
" open-browser.vim
let g:netrw_nogx = 1 " disable netrw's gx mapping.
nmap gx <Plug>(openbrowser-smart-search)
vmap gx <Plug>(openbrowser-smart-search)

下記のように書くと
選択している場合は選択している単語
省5
896
(1): 2020/08/17(月)11:09 AAS
>>895
それをやってるプラグインがあった
外部リンク[vim]:github.com
外部リンク[vim]:github.com
897: 2020/08/18(火)09:26 AAS
>>896
ありがとうございます。参考になります。
簡単にできると思いましたがいろいろな場合分けが必要なのですね。
898
(3): 2020/08/18(火)14:24 AAS
>>895
ちなみにnmap/vmapで実現すると何か問題が生じるの?

自分は似たような動作をそういう方法で実現してて,
よろしくない挙動が発生するんであれば修正したいから
教えて欲しい。
899
(1): 2020/08/18(火)15:05 AAS
>>898
そのmapが分からなきゃ問題を指摘しようがないでしょ
900: 2020/08/18(火)18:35 AAS
>>899
nmap gx <Plug>(openbrowser-smart-search)
vmap gx <Plug>(openbrowser-smart-search)
901: 2020/08/18(火)19:02 AAS
>>898
nとvでマッピング先のコマンドを同じにする(したい)なら内部で判定するしかないしそれぞれのモード専用のコマンドを作ってマッピングするならそれでもいいんじゃない

openbrowserのことは知らないが単に文字列を渡したいだけならユーザーがどうするのかは好みの問題では
902: 2020/08/18(火)19:23 AAS
モード専用のコマンドというかrangeに対応してるかしてないかだな
コマンドを使うときに今は範囲指定したからrange対応版してないから通常版と判断したいかどうか
903: 2020/08/19(水)00:32 AAS
>>898
別に問題があるわけではないです
個人的な感性で申し訳ないのですが、ググるという動作はなんとなくコマンドのほうが直感的と思ったからです。
なぜか考えたのですが文章を編集するわけではないからですかね

あとマッピングは汚さず、できるだけvimデフォルトで行いたいと言うのもあるかもしれません
904: 2020/08/19(水)09:08 AAS
がっつりマッピング変えようかと思ったどそれ自体忘れるというジレンマ
905
(4): 2020/08/19(水)09:33 AAS
Vimはテキストエディタというよりもテキストエディタエディタと化してる人もいるんじゃなかろうかw

メジャー所のマッピングは語っても仕方ないので、個人的に細かいんだけどよく使う便利マップは挿入モードで()を()<Esc>i にするマップ
{}とか[]とか""とかも同様にマッピングしてる
Shiftを外し遅れて次までShift付きになるのが嫌いで昔から()と連続入力してから中に打つ癖があるのですごい便利
分かる人には伝わると思うw
906: 2020/08/19(水)10:08 AAS
>>905
()<esc>iってスマホのIMEでよく見かけるやつか!いいやん!
こういう「細かくて地味だけどちょい便利マッピング」もっと欲しいw
907: 2020/08/19(水)10:11 AAS
暫く使ってない端末のvimの操作方法が分かりません!
908: 2020/08/19(水)10:33 AAS
あんまり基本機能的な部分でマッピングしすぎるとそうなるよね
まあvimrcを持ち歩けば大体はカバー出来るけど環境によってはそれをインポートする術がない可能性もあるからなあ
そんな状況に当たったことはないけど他人の環境でカスタマイズされ過ぎたVimが思い通りに動かなくて少し困ったという逆の経験はあるわ
909: 2020/08/19(水)12:17 AAS
Vimのスクリプトじゃなくて本体で対応して欲しい機能が
選択範囲の文字列で検索すること

いまのところスクリプトで実現しようとすると
外部リンク:vim.fandom.com
ここにある通りレジスタを一つ潰さざる得ないから時偶困る。
910: 2020/08/19(水)19:23 AAS
それF1にマッピングしていつも使ってる
911: 2020/08/25(火)00:16 AAS
neovimでdeinを使っています。
neovimを開いて下記コマンドをたたいてもステータスラインがでません。
set laststatus=2
しかし、インサートモードにするとステータスラインが出ます。
何か原因の推測はできますでしょうか?

dein_lazy.tomlは次レス↓
912
(2): 2020/08/25(火)00:17 AAS
# dein_lazy.toml その1
[[plugins]]
repo = 'Shougo/deoplete.nvim'
hook_source = '''
let g:deoplete#enable_at_startup = 1
inoremap <expr><tab> pumvisible() ? "\<C-n>" : "\<tab>"
" Expand the completed snippet trigger by <CR>.
省11
913: 2020/08/25(火)00:17 AAS
# dein_lazy.toml その2

[[plugins]]
repo = 'Shougo/neosnippet'
hook_source = '''
imap <C-k> <Plug>(neosnippet_expand_or_jump)
smap <C-k> <Plug>(neosnippet_expand_or_jump)
xmap <C-k> <Plug>(neosnippet_expand_target)
省11
914
(1): 2020/08/25(火)03:40 AAS
とりあえず `:verbose set laststatus` してどこかで値が上書きされていないかくらい確認してみたらいいんじゃない
それ以上はプラグインの Issue でやってくれ
915
(1): 912 2020/08/25(火)11:14 AAS
>>914

コメントありがとうございます。
そちら確認したところ、init.vimでセットされ意図した通りでした。

それと今解析していてdeinそのものを読まないようにしましたが、挿入モードの時だけステータスラインが表示され、コマンドモードに戻ると消えます。

コマンドモードでも表示するには何か設定が必要でしょうか?
916
(1): 2020/08/25(火)12:22 AAS
>>915
neovimのlaststatusはデフォルトで2だからどこかのプラグインでいじってる
再現する最小構成を探ればバグ報告ができる
917
(2): 912 2020/08/25(火)13:20 AAS
>>916
完全デフォルトから手打ちでステータスラインが出るか確認してみました。
結果はコマンドモード、入力モード共にステータスラインは表示されませんでした。
nvimはv0.4.3を使用していますが、ステータスラインを表示させるには何か設定が足りませんか?

下記で全設定を読まないようにする→これでデフォルト設定になるはず。
mv ~/.config/nvim ~/.config/nvim__

nvim ←起動
省2
918
(1): 2020/08/25(火)21:31 AAS
>>917
手打ちってなんだ起動時に表示されているのがデフォルトだ
nvim -u NONEでvimrcもプラグインも読み込まれなくなる
:set rtp?で余計なものが混ざってないか?
919
(1): 917 2020/08/25(火)22:57 AAS
>>918

情報ありがとうございます。
以下確認しましたが、原因不明です。
他に要確認ポイントなどありませんでしょうか?
OSはCentOSです。

■バージョン、コンパイル情報確認
LINUX% nvim --version
省12
920: 2020/08/26(水)04:31 AAS
何を調べてその結果何を切り分けたのか理解できてないみたいだし、こういうの向いてないんじゃね
921: 2020/08/26(水)11:57 AAS
ステータスラインはデフォルトで表示されるからそれを確認しようとしたんじゃないの?
922: 2020/08/26(水)12:09 AAS
>>919
デフォルトでダメならもうneovimのバージョン上げるか端末を変えるかくらいだ
標準のステータスラインを諦めてpowerline系のものを使う手もある
923: 2020/08/26(水)17:33 AAS
とりあえず0.4.4をインストールしましたがダメでした。

そこでさらに色々調べていると使っているTerminalが原因ということがわかりました。

結局バージョンも個人設定も関係ないところの問題でした。
お騒がせしてすみません。。
924: 2020/08/27(木)00:23 AAS
なぜageる
925
(1): 2020/08/29(土)01:03 AAS
>>905

↑変数の文字列定義の時にこのレスの""のマッピングが便利そうだなと思っています。
具体的にどんなマッピングを書けばよいかわかりますか?
926: 2020/08/29(土)01:05 AAS
すみません、これでいけました。
inoremap "" ""<Esc>i
927: 2020/08/29(土)01:08 AAS
>>925
How about using this one. lexima.vim
928
(2): 2020/08/29(土)18:00 AAS
上記のマッピングだと"を抜けるときの方法をどうするかと個人的には考えてしまう
あと一つだけ"を入れたいとき

visual studioはそこらへんの挙動面白い
929: 2020/08/29(土)18:32 AAS
素直にそのマッピングでいい場合の楽さよりそれ以外の面倒くささが勝つからクォートも括弧も手動だ
930: 2020/08/29(土)18:33 AAS
俺も>>905さんを参考にマッピングして使ってます(ありがとう)

>>928
抜けるときはカーソルを動かすしかないかな
でも連続入力癖がある人は元から連続入力・←・中身入力・→ってやってるのでそれがひと手間省けるってだけでも地味ながらかなり便利なんよ
そもそも連続入力しないっていう大多数?の人にはこれの良さは伝わらないんだろうなぁとは思うけども
あとこれは2回連続タイプにしか反応しないから1つだけ入れたい時は何も気にせずそのまま次をタイプすれば無問題
931: 2020/08/30(日)06:34 AAS
>>928
C-r " とかじゃないか?
932: 2020/08/30(日)06:34 AAS
C-v " か
933: 2020/08/30(日)06:36 AAS
lexima.vim では
" で "" の入力と中に入るのが自動化される上に
"" の間で " を打つと外に出れる
934: 2020/08/30(日)07:46 AAS
それ解決になってなくない?
>>905が言ってることからエスパーするに、SHIFTを押すタイミングが少ない方がいいって話じゃないの?
つーか出ていくのに"を押すって結局普通に両端で押すのとあんまり変わらなくない?

まあ俺は別にどっちも要らんからどうでもいいんだけども
935: 2020/08/31(月)09:21 AAS
ESC遠くてめんどくせぇと思ったらC-[で代用できるのねこれ
説明は不十分だし初見殺しが過ぎる
936: 2020/08/31(月)12:07 AAS
C-]でEscはbashの機能じゃなかったか
937: 2020/08/31(月)12:10 AAS
たしか Vim 独自のものじゃなくてコンソール環境で esc の制御文字?を入力するためのバインドだよね
BSはC-h、改行はC-jとかこの辺もそうだったような
938: 2020/08/31(月)12:25 AAS
キーコードが同じになるから同じキーらしい
外部リンク:tyru.hatenaブログ.com/entry/2018/10/04/151740
939
(1): 2020/08/31(月)12:36 AAS
ちなみにもっと言うと,電子的な端末(要はほとんど全ての端末)なら,
Ctrl+3でもEscと同じ内容の鍵符号が送信されるようになっている。
940: 2020/08/31(月)12:38 AAS
>>939
これの起源を昔から調べてるんだけど見付からない。
VT-100とかではなかった機能のようだから,
端末が仮想的なソフトウェアになるどこかの段階で
取り入れられた・実装された機能だとは思ってるんだけど……。
941: 2020/08/31(月)13:16 AAS
jj が必要な文字列がなかったからそれで抜けてる
942: 2020/08/31(月)13:20 AAS
JJ桜井
943: 2020/08/31(月)13:41 AAS
Escが遠いってもしかして小指で押そうとしてるの?
手首は固定してそこから先を回転させて薬指で打てば全く軽く打てるんだけど
2キー同時押しで中途半端な位置のキーを押すよりはるかに楽
944: 2020/08/31(月)14:53 AAS
俺はそもそもCaps LockをESCにしてる。
945: 2020/09/06(日)10:50 AAS
挿入モードに入るとCapsLockキーがONになり
挿入モードから抜けるとOFFになる
そんな設定方法があったら教えてください

事情としては以下
・メインフレーム用のJCLをTeraTerm経由Vimで編集するにあたり大文字入力がメインとなる
・しかしCapsLockを常時ONで使うとノーマルモードでの操作に支障が出る
946: 2020/09/06(日)13:58 AAS
SandSあたりを使うべきなのかもな
スペースキーと char 同時押しで大文字になる機能
947: 2020/09/06(日)15:12 AAS
soft capslockを使うか
OSのAPIを叩くような外部コマンドやプラグインを使うか
948
(1): 2020/09/06(日)15:20 AAS
CapsLockを使わずに挿入モードの全てのキーにSHIFT付きをマッピングするという力業は…?w
949: 2020/09/06(日)15:58 AAS
似たようなのが vim の本にあってだな
; と英文字同時押しで Sans のようなものを実現するやつだ
ジュンクドウとかあるならそこ見れば乗ってるはず
リュックの黒歴史より前の本
950: 2020/09/06(日)16:11 AAS
>>948
そういう設定をソフトウェア的にトグルできるようにしたのをSoft CapsLockと言うんじゃ
外部リンク:vim.fandom.com
外部リンク:github.com

OSのAPI叩いてるやつ
外部リンク:github.com
951
(1): 2020/09/20(日)11:01 AAS
なんとなくtar.gzをvimで開いたらまさか中身を覗けるとは
もっと早く教えてくれよ
1-
あと 51 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s