質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

3回答

454閲覧

ホストのvi設定を仮想環境下(CentOS7)でも反映させる方法

roronoazoro

総合スコア113

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2017/10/04 21:34

編集2022/01/12 10:55

ホストOS(MacOS)に設定してある.vimrcファイルを仮想環境下のCentOS7に反映させたいのですが、やり方がわかりません。
一応centos7側にはデフォルトでviはインストールされているので、PATHなどをいじれば設定できると思うのですが、やり方がいまいちわかりません。
ホストとゲスト側でどこからしらの共通項を見つけだしてシンボリックリンクを設定するのでしょうか?
下記は$PATHの参考です。
初歩的な部分で恐縮ですが、いつも仮想環境下エディタ問題で詰まるので教えていただけると助かります。
よろしくお願いします。

bash

1#--ゲスト側 2[vagrant@localhost ~]$ echo $PATH 3/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/vagrant/.local/bin:/home/vagrant/bin 4 5#--ホスト側 6~:master$echo $PATH 7/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/vscode

10月5日追記
今回の目的としてwordpressの学習で、仮想環境を少しかじったのでどうせならばcentos7でやってみようと思い、そこでより効率的にエディタ等の設定をというのが今回の目的です。
下記にvagrnatfileを記載しました。
マウント位置は/var/www/wordpressにしました。
.vimrcの設定を共通ディレクトリを見いだし、そこへexportするかリンクで反映させる二つのやり方があるという解釈で大丈夫でしょうか?

合ってるとしましたら、今回の場合のように、wordpressディレクトリでマウントしたい、でもviもホストのものを使いたいといった場合はどうすればいいでしょうか?
検討違いでしたらすみません。

bash

1#--Vagrantfile 2 3 1 # -*- mode: ruby -*-↲ 4 2 # vi: set ft=ruby :↲ 5 36 4 # All Vagrant configuration is done below. The "2" in Vagrant.configure↲ 7 5 # configures the configuration version (we support older styles for↲ 8 6 # backwards compatibility). Please don't change it unless you know what↲ 9 7 # you're doing.↲ 10 8 Vagrant.configure("2") do |config|11 9 # The most common configuration options are documented and commented below.↲ 12 10 # For a complete reference, please see the online documentation at↲ 13 11 # https://docs.vagrantup.com.↲ 14 1215 13 # Every Vagrant development environment requires a box. You can search for↲ 16 14 # boxes at https://vagrantcloud.com/search.↲ 17 15 config.vm.box = "bento/centos-7.3"18 1619 17 # Disable automatic box update checking. If you disable this, then↲ 20 18 # boxes will only be checked for updates when the user runs↲ 21 19 # `vagrant box outdated`. This is not recommended.↲ 22 20 # config.vm.box_check_update = false↲ 23 2124 22 # Create a forwarded port mapping which allows access to a specific port↲ 25 23 # within the machine from a port on the host machine. In the example below,↲ 26 24 # accessing "localhost:8080" will access port 80 on the guest machine.↲ 27 25 # NOTE: This will enable public access to the opened port↲ 28 26 # config.vm.network "forwarded_port", guest: 80, host: 8080↲ 29 2730 28 # Create a forwarded port mapping which allows access to a specific port↲ 31 29 # within the machine from a port on the host machine and only allow access↲ 32 30 # via 127.0.0.1 to disable public access↲ 33 31 # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"↲ 34 3235 33 # Create a private network, which allows host-only access to the machine↲ 36 34 # using a specific IP.↲ 37 35 # config.vm.network "private_network", ip: "192.168.33.10"↲ 38 3639 37 # Create a public network, which generally matched to bridged network.↲ 40 38 # Bridged networks make the machine appear as another physical device on↲ 41 39 # your network.↲ 42 40 # config.vm.network "public_network"↲ 43 4144 42 # Share an additional folder to the guest VM. The first argument is↲ 45 43 # the path on the host to the actual folder. The second argument is↲ 46 44 # the path on the guest to mount the folder. And the optional third↲ 47 45 # argument is a set of non-required options.↲ 48 46 config.vm.synced_folder ".", "/var/www/wordpress",↲ 49 47 ▸ ▸ :nginx => "nginx",↲ 50Vagrantfile 1,1 Top 51"Vagrantfile" 73L, 3107C 52

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

.vimrc はホームディレクトリに置かれている必要があります。PATH 環境変数は関係ありません。ゲストの root ユーザでホストと同じ設定を使いたい場合はホスト側の ~/.vimrc を /root/.vimrc にコピーする必要があります。vagrant ユーザで利用したい場合は /home/vagrant/.vimrc にコピーする必要があります。

scp でコピーするか vagrant のプロビジョニング(config.vm.provision)を利用して、配置してはいかがでしょうか? Mac OS であれば、 ansible が使えるので ansible でプロビジョニングするのがおすすめです。
参考:AnsibleとVagrantで開発環境を構築する

投稿2017/10/04 21:51

mit0223

総合スコア3401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/04 23:22

ホストにインストール済みのコマンドを実行したいに見えるのは気のせいだろうか
guest

0

タイトルに「vi設定」って書いてあるけど、.vimrcでいいの?
vimはviを参考に作られたエディタだから、viとvimは別物だよ。
設定ファイルの読み込み箇所はこんな感じ。

  • vi: $HOME/.exrc
  • vim: $HOME/.exrc -> $HOME/.vimrc の順番に読み込み

$PATHじゃなくて$HOME配下のファイルを読み込むから確認して放り込めばおk。

Bash

1$ echo $HOME 2/root

投稿2017/10/04 22:59

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ホスト上の.vimrcがゲストから見えるようにマウントしてあるのならば、.bashrc等で、

Bash

1export VIMINIT="source ゲストから見たホスト上の.vimrcのフルパス"

と書いてください。
もしくは、全く同じ.vimrcで良いなら、シンボリックリンクを作っておきます。

Bash

1$HOME/.vimrc があれば削除する 2ln -s ゲストから見たホスト上の.vimrcのフルパス $HOME/.vimrc

投稿2017/10/04 22:26

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roronoazoro

2017/10/05 11:36

ご回答ありがとうございます。 本文に追記しましたのでご確認いただけますでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問