🦸‍♀️nvim_set_var (Disable the provider)

Deep in the jungle, where the mighty tiger lies

Bill and his elephants were taken by surprise

ジャングルの奥深く、強大な虎が横たわる

ビルと象たちは意表を突かれて おでれぇたぞう

私事ですが、日本各地が爆弾低気圧でわーわーゆーてた頃、北陸旅行を堪能してきました。

贅沢に3泊も❗

すでに持ち金はマイナスだし、徳政令には期待できないしでもうパニックです😵‍💫

初日は新幹線カードを使ってなんとか金沢までやって来ましたが、 最初の目的地はさらに西の福井なので、ここからは特急カードを使います。

ちょうど「北陸新幹線延伸」と「特急サンダーバード短縮」の節目だったので❗

このサイトに辿り着くような人が "サンダーバード" と聞けば MozillaThunderbird を思い浮かべるかもしれません。

しかし、ここで言っているのは West Japan Railway Companyのサンダーバードです。

So Captain Marvel zapped him right between the eyes

そこに現れた Captain Marvel 虎の眉間にズバッと一撃

"サンダー" というぐらいなんで悪天候に強いのかと思いきや、 強風には弱いそうなので、どちらかといえば "バード" 成分の方が多めな気がします🐦

爆弾低気圧なんて天敵でしょうね😿 この日も琵琶湖をぐるっと迂回して走っていたとかいないとか。

ゆーてわたしもハートフルでやらせてもろ〜てますんで「琵琶湖の風とめたろかぁ😊」 ゆーわけです。

...まあ、実際頼まれても「そんな神通力なかったわぁ❗」ゆーて、すっとぼけますけどね🙄

Note

すでにお気づきかとは思いますが、このサイトは "エセ関西人" がお送りしとるんですわぁ❗🤣

(コッテコテのね❗)

fukui-station

Mozilla とは関係ないけどいいじゃない🦖 とってもハートフル🥰

後ろにある真新しい新幹線ホームにはまだ人がいないので、この辺の地理をよく知らない人間からすると

「ん❓まだ福井来てなかったの😑❓」ってなるんですけど。

だって、長野から延伸した時の CMソングはいかにも福井まで行ける感じで歌ってたじゃん🚄

All the children sing

子供たちはみな歌う

と〜や ま いっしか〜わ ふっくい 🎶

「えぇ...😨」ってなるんですけど...❗

まあでも伸びたんなら、もはやどうでもいい❗

住民は 大歓迎ですぞ!

🦸 nvim_set_var

:h nvim_set_var

nvim_set_var({name}, {value})
  Sets a global (g:) variable.

  Parameters: ~
    • {name}   Variable name
    • {value}  Variable value

nvim_set_varこと Captain Marvel 1 Shazamとも Superman 2 とも スッパマンさん 3 ともまた違った魅力があるのです❗かぁっくいー❤️

Tip

nvim_set_varglobal変数に対して値をセットする汎用的なAPIなので、この節での使い方はあくまでも一例です。

このサイトで示している他の使い方としては mapleadermaplocalleaderなどがあります。

ぶっちゃけ、このあと出てくるヘルプの文面は少し古く感じられるので、 今となっては特段効果のあるTipsではないかもしれません。

ただ、トリはずっと前からこれって決めてたんで、このままいっちゃいます😅

The children asked him if to kill was not a sin

"Not when he looked so fierce," his mummy butted in

子供たちは彼に尋ねた 「殺すことは罪ではないの?」

"相手が獰猛に見えた場合は罪になりません" と彼のママが口を挟んだ

"If looks could kill, it would have been us instead of him"

"だってもう見た目からして、虎ではなく私たちが殺されていたでしょう"

💫 init.lua

このページで示すサンプルコードはトップのinit.luaに入れるのがいいんじゃないかな〜って思います 🐅

init.lua

vim.loader.enable()

--
-- 今回示すコードは、ここに入れていくといいかも〜??
--

require 'options'
require 'appearance'
require 'keybinds'

一人でずっとわーわーゆーとりますが、いよいよこのサイトで扱うNeovim最後の節です❗

All the children sing

子供たちはみな歌う

Hey, Bungalow Bill 4

What did you kill, Bungalow Bill?

おーい Bungalow bill

何を殺したの、Bungalow bill?

📽️ provider

ゆーて前回と同様、そこまで内容がないので、 北陸地方の風景を混ぜつつ、すっとぼけながらゆる〜く締めに向かいます🤪

🐍 Python Integration

東尋坊名前は知ってるけど〜。

東尋坊どこにあるかは知らない〜。 tojinbo

この海には赤マスしかないと思っていた...❗

あれは誇張しすぎた日本海だったということか🤠

:h provider-python

Nvim supports Python |remote-plugin|s and the Vim legacy |python3| and
|pythonx| interfaces (which are implemented as remote-plugins).

Note: Only the Vim 7.3 legacy interface is supported, not later features such
as |python-bindeval| (Vim 7.4); use the Nvim API instead. Python 2 is not
supported.


PYTHON QUICKSTART ~

To use Python plugins, you need the "pynvim" module. Run |:checkhealth| to see
if you already have it (some package managers install the module with Nvim
itself).

For Python 3 plugins:
1. Make sure Python 3.4+ is available in your $PATH.
2. Install the module (try "python" if "python3" is missing):
python3 -m pip install --user --upgrade pynvim
The pip `--upgrade` flag ensures that you get the latest version even if
a previous version was already installed.

See also |python-virtualenv|.

Note: The old "neovim" module was renamed to "pynvim".
https://github.com/neovim/neovim/wiki/Following-HEAD#20181118
If you run into problems, uninstall _both_ then install "pynvim" again:
python -m pip uninstall neovim pynvim
python -m pip install --user --upgrade pynvim

だいぶ前にちょっとだけ触れていましたが、 ここで改めてpython3_host_progloaded_python3_providerを取り上げます。

Note

ヘルプでも触れられていますが、古くはPython 2のコンフィグも用意されていましたが、今はPython 3だけになっています。

このサイトで取り上げてきたプラグインやコードに限って言うと、 Pythonは全く使用していないので、その場合は無効化してしまって構いません😏

Tip

ここで言う「全く使用していない」は "Neovim本体の動作には使用していない" という意味です。

Pythonのコードを書くのに使ってるよー」って言うのとは、また別のおはなしです😉

...の、はずです。

🔸python3_host_prog

まず、使用する場合はこれを入れるといいらしいです🐍

:h g:python3_host_prog

PYTHON PROVIDER CONFIGURATION ~

Command to start Python 3 (executable, not directory). Setting this makes
startup faster. Useful for working with virtualenvs. Must be set before any
check for has("python3").

Python 3 を起動するコマンド (ディレクトリではなく実行ファイル)。これを設定すると
起動が速くなります。virtualenv を使うときに便利です。このコマンドは
has("python3") の前に設定する必要があります。
let g:python3_host_prog = '/path/to/python3'

上のサンプルコードをluaで書くとこんな感じになるはずです 🌜

vim.api.nvim_set_var('python3_host_prog', '/path/to/python3')

Tip

ここにはwhichで出てくるpathを教えてあげると良いです。

わたしはPython3brewから入れてるのでこんなんなってます。 which-python3

Note

わたしは専門外なのでよく知らないんですが... 😅

virtualenvなどを使う場合は以下を参照❗

:h python-virtualenv

🔹loaded_python3_provider

で、使用していない場合はこっち 🐍

:h g:loaded_python3_provider

To disable Python 3 support:

Python 3 のサポートを無効にするには
let g:loaded_python3_provider = 0

と言うことで、こうなります。

init.lua

vim.api.nvim_set_var('loaded_python3_provider', 0)

これで「わざわざ探しに行かなくていいよー」という意思表示になります。

Tip

今後必要になった時は忘れずに切り替えないとだめだぞ😉❤️

Note

紹介しておいてなんなん❓ってなりますが、 python3_host_progとは違ってヘルプでも起動時間には言及されていないので、特に意味はないかもしれません😮

🏉 Ruby Integration

大量の "とやマネー" をもらってしまった〜の図。 toya-money

そのネーミングセンスなど、もはやどうでもいい...❗

コーラル社長さんは 持ち金が

マイナスにも めげることなく...

北陸の 応援のためにと

塗炭の苦しみを

乗り越え かけつけてくれました!

その心意気に 富山の

人々が 持ち金を ゼロにするために

走りまわってくれました!

やったね😆

なんかおかげさまで借金も消えたので、あとはもう簡単に載っけていきます❗

無効化するだけであれば全部同じパターンですから😤

:h provider-ruby

Nvim supports Ruby |remote-plugin|s and the Vim legacy |ruby-vim| interface
(which is itself implemented as a Nvim remote-plugin).

RUBY QUICKSTART ~

To use Ruby plugins with Nvim, install the latest "neovim" RubyGem:
gem install neovim
Run |:checkhealth| to see if your system is up-to-date.

🔹loaded_ruby_provider

:h g:loaded_ruby_provider

RUBY PROVIDER CONFIGURATION

To disable Ruby support:
let g:loaded_ruby_provider = 0

init.lua

vim.api.nvim_set_var('loaded_ruby_provider', 0)

🧜‍♀️ Perl integration

モダンとレトロの富山駅。 toyama-canal

東京の都電が車と同じ右折車線に縦に並んでる様も見ていて結構な Chaos っぷりだと思ってるんだけど、 この横並びもなかなかナイスな Chaos and Creation❗

:h provider-perl

Nvim supports Perl |remote-plugin|s on Unix platforms. Support for polling STDIN
on MS-Windows is currently lacking from all known event loop implementations.
The Vim legacy |perl-vim| interface is also supported (which is itself
implemented as a Nvim remote-plugin).
https://github.com/jacquesg/p5-Neovim-Ext

Note: Only perl versions from 5.22 onward are supported.

PERL QUICKSTART~

To use perl remote-plugins with Nvim, install the "Neovim::Ext" cpan package:
cpanm -n Neovim::Ext
Run |:checkhealth| to see if your system is up-to-date.

🔹loaded_perl_provider

:h g:loaded_perl_provider

PERL PROVIDER CONFIGURATION~
To disable Perl support:
:let g:loaded_perl_provider = 0

init.lua

vim.api.nvim_set_var('loaded_perl_provider', 0)

🌳 Node.js Integration

兼六園にはアオサギもやってくるらしいよ。 kenroku-en

これがアオサギなのかはよくわかんないですけど😅

:h provider-nodejs

Nvim supports Node.js |remote-plugin|s.
https://github.com/neovim/node-client/

NODEJS QUICKSTART~

To use javascript remote-plugins with Nvim, install the "neovim" npm package:
npm install -g neovim
Run |:checkhealth| to see if your system is up-to-date.

🔹loaded_node_provider

:h g:loaded_node_provider

NODEJS PROVIDER CONFIGURATION~
To disable Node.js support:
:let g:loaded_node_provider = 0

init.lua

vim.api.nvim_set_var('loaded_node_provider', 0)

🩺 checkhealth

そんなこんなで 4つのproviderを取り上げてきたわけですが、 これがちゃんと反映されているかについては、毎度お馴染みcheckhealthで確認できます。

Quote

:che
provider_checkhealth

全部無効化した場合であれば、こんな表示になるはずです😉

🧒 Eh up!

富山駅のコンコースに居た時のことなんだけど、ここにはストリートピアノが置いてあって、 どこからか現れた園児たちがそこで歌い始めたんだよね。

All the children sing

子供たちはみな歌う

きがつけば はるのかぜが

あんなにうたっているよ

ありがとう こころをこめてありがとう

そして さよなら

鼻を啜ってるのか、コートに擦ってるのか、 変な音も入っちゃってるけど、もはやどうでもいい...❗

わたしはたまたま居合わせただけなんだけど、やさしい歌をありがとう🤗

最後に、富山駅からちょっと歩くと運河のある風景。 toyama-canal

...最終回じゃないぞよ もうちっとだけ続くんじゃ 🐢

Success

Eh up! 5

よお 元気か❗

1: このサイトでは、nvim_set_varをなんかたまに Captain Marvel と呼称することがあるんでしたねー...。時が経つのは早い。

2: Superman は DC Comics の出版するアメリカン・コミックで 1938年に誕生した架空のスーパーヒーロー。 Krypton星から地球に降り立ったヒューマノイド型エイリアンの難民で、超人的な能力を身につけている。 普段はメトロポリスの新聞社 Daily Planet でジャーナリスト Clark Kent として働く。 テレビシリーズ冒頭のナレーションは「弾丸(たま) よりも速く、力は機関車よりも強く、高いビルディングもひとっ跳び❗」。 Wikipediaより

3: スッパマン はDr.スランプに登場する オカカウメ星からやってきた自称正義の味方。 しかし行動はアホそのもので、なおかつ悪質、陰湿、陰険で根に持つタイプ。 村人からは「アホのスッパマン」とコケにされている。 普段はアルバイトでやっているPCB (ペンギン村文化放送局) テレビのレポーター暗悪健太 (くらあく けんた) として変装し、 正体がばれないようにパトロールをしているが、変装はほとんどの村人にバレている。 事件に遭遇すると電話ボックスでコスチュームに着替えて変身するが、敵が自分より強いとわかると相手に媚びへつらう。 ドラゴンボール に登場した際は、レッドリボン軍のブルー将軍に対し最初は立ち向かおうとするが、 電話ボックスを簡単に破壊できることを見せつけられた途端、則巻千兵衛の家への道を教え、自分の車を使わせた。 決め台詞は「ウメボシたべてスッパマン❗」自ら付けたキャッチフレーズ的なものは 「オカメコオロギより速く、トノサマバッタより強く、(価格が) 高いカズノコなどひとっ飛び❗」 Wikipediaより

4: The Continuing Story of Bungalow Bill (by The Beatles): この曲は The Beatles がインドで महर्षि महेश योगी (Maharishi Mahesh Yogi) のもとに滞在していた時、 母親の Nancy Cooke de Herrera を訪ねていた若いアメリカ人、 Rik こと Richard A. Cooke III の虚勢と無教養な態度を嘲笑するものとして Lennon によって書かれた。

発端は象に乗って虎狩りに出かけたときのことだった (伝統的な行為として現地ガイドが提示したとされる)。 象の群れが虎に襲われ、Rik が虎を射殺した。 Nancy によれば、その場にいた全員が Rik の行動の必要性を認識していたが、Lennon の反応は軽蔑的で皮肉なものだったという。

Lennon は後に Playboy のインタビューで、この曲について 「"Bungalow Bill" は、短い休暇を取って哀れな虎を2、3頭撃ち殺した男が、神と共に部落に帰ってくるというストーリーで書いた。 Jungle Jimというキャラクターがいて、 それをBuffalo Billと組み合わせた。 10代の社会的コメントのような歌で、ちょっとしたジョークなんだ」と語っている。

McCartney は本作について 「今も僕のお気に入りの一つ。それは今の僕のスタンスとすごく共通するところがあるからだ。 この曲のメッセージは "本当にあの虎を撃つ必要があったのか? お前は立派な男ではなかったのか? お前は勇敢な男ではなかったのか?" というところ。 John はそれを、すごくうまく表現していると思う」と評している。

この曲は Lennon と共に オノ・ヨーコがリード・ヴォーカルをとっており、 The Beatles のメンバー以外がリード・ヴォーカルをとった唯一の曲である。 (...と、日本語のWikipediaには記載があるが、You Know My Name (Look Up The Number) はどういう扱いになっているのか判然としない...)

5: 冒頭のリフレインを繰り返しながらフェード・アウトし、 拍手の後にLennon の "Eh up!" という掛け声が入り、曲間を置かずに While My Guitar Gently Weeps へと移行する。 Wikipediaより