{"id":66992,"date":"2024-06-17T06:54:29","date_gmt":"2024-06-17T03:24:29","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/"},"modified":"2024-06-17T06:54:29","modified_gmt":"2024-06-17T03:24:29","slug":"setting-up-vim-for-php-and-laravel-in-2024-1pl7","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/","title":{"rendered":"\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc Vim \u0628\u0631\u0627\u06cc PHP \u0648 \u0644\u0627\u0631\u0627\u0648\u0644 \u062f\u0631 \u0633\u0627\u0644 2024"},"content":{"rendered":"<div data-article-id=\"1890710\" id=\"article-body\">\n<p>\u0645\u0646 \u0628\u06cc\u0634\u062a\u0631 \u0642\u0635\u062f \u062f\u0627\u0631\u0645 \u0633\u0641\u0631 \u062e\u0648\u062f\u0645 \u0631\u0627 \u062f\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc Vim (\u0646\u0647 Neovim!) \u0628\u0631\u0627\u06cc PHP \u0648 laravel \u0645\u0633\u062a\u0646\u062f \u06a9\u0646\u0645.  \u0628\u0627 \u062e\u06cc\u0627\u0644 \u0631\u0627\u062d\u062a \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u0627\u0632 Vim+VimPlug+CoC.nvim \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f nodej \u0648 npm \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u0645.  \u0646\u0627\u06af\u0641\u062a\u0647 \u0646\u0645\u0627\u0646\u062f \u06a9\u0647 \u0628\u0627\u06cc\u062f Vim8+ \u0631\u0627 \u0646\u06cc\u0632 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.  \u0646\u0633\u062e\u0647 \u0641\u0639\u0644\u06cc Vim \u062f\u0631 \u062d\u0627\u0644 \u0646\u0648\u0634\u062a\u0646 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 Vim-9.1 \u0627\u0633\u062a <\/p>\n<p>\u067e\u0633 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u0632 \u06cc\u06a9 \u062a\u0645\u06cc\u0632 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645 <code>~\/.vimrc<\/code><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/#%D8%A7%D8%AC%D8%A7%D8%B2%D9%87_%D9%85%DB%8C_%D8%AF%D9%87%D8%AF_%D8%A7%DB%8C%D9%86_%D8%A8%D9%84%D9%88%DA%A9_%D8%B1%D8%A7_%DA%A9%D9%87_%D8%A8%D9%87_%D8%B7%D9%88%D8%B1_%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1_VimPlug_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%D9%85%DB%8C_%DA%A9%D9%86%D8%AF%D8%8C_%D8%AF%D8%B1_%D8%A8%D8%A7%D9%84%D8%A7%DB%8C_%D9%85%D8%A7_%D9%82%D8%B1%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C%D9%85_vimrc\" >\u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0631\u0627 \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 VimPlug \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u062f\u060c \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u0645\u0627 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u0645 ~\/.vimrc.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/#%DA%86%D9%86%D8%AF%DB%8C%D9%86_%D9%BE%D9%84%D8%A7%DA%AF%DB%8C%D9%86_%D8%B6%D8%B1%D9%88%D8%B1%DB%8C_%D8%AF%D9%86%D8%A8%D8%A7%D9%84_%D9%85%DB%8C_%D8%B4%D9%88%D8%AF\" >\u0686\u0646\u062f\u06cc\u0646 \u067e\u0644\u0627\u06af\u06cc\u0646 \u0636\u0631\u0648\u0631\u06cc \u062f\u0646\u0628\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/#%D8%A8%DB%8C%D8%A7%DB%8C%DB%8C%D8%AF_%D9%82%D8%B7%D8%B9%D8%A7%D8%AA_%D8%B1%D8%A7_%D9%86%DB%8C%D8%B2_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D9%85\" >\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0642\u0637\u0639\u0627\u062a \u0631\u0627 \u0646\u06cc\u0632 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/#%D8%A7%DA%A9%D9%86%D9%88%D9%86_%D8%A7%D8%AC%D8%A7%D8%B2%D9%87_%D9%85%DB%8C%E2%80%8C%D8%AF%D9%87%DB%8C%D9%85_%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C_coc_%D8%B1%D8%A7_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D9%85\" >\u0627\u06a9\u0646\u0648\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645 \u0627\u0641\u0632\u0648\u0646\u0647\u200c\u0647\u0627\u06cc coc \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/#%DA%A9%D9%84%DB%8C%D8%AF%D8%A8%D9%86%D8%AF%DB%8C_%D9%87%D8%A7\" >\u06a9\u0644\u06cc\u062f\u0628\u0646\u062f\u06cc \u0647\u0627:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/#%D8%A7%D8%AC%D8%A7%D8%B2%D9%87_%D9%85%DB%8C_%D8%AF%D9%87%D8%AF_%D8%AA%D8%A7_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%DA%86%DB%8C%D8%B2_%D8%AF%DB%8C%DA%AF%D8%B1_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B1%D8%A7%D8%AD%D8%AA%DB%8C_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D9%85\" >\u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0686\u0646\u062f\u06cc\u0646 \u0686\u06cc\u0632 \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0631\u0627\u062d\u062a\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/#%D9%85%D9%88%D8%B6%D9%88%D8%B9\" >\u0645\u0648\u0636\u0648\u0639:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/setting-up-vim-for-php-and-laravel-in-2024-1pl7\/#Vim_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D8%AA%D9%85_%D9%85%D8%AD%D8%A8%D9%88%D8%A8_catppuccin_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >Vim \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0645 \u0645\u062d\u0628\u0648\u0628 catppuccin \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/a><\/li><\/ul><\/nav><\/div>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AC%D8%A7%D8%B2%D9%87_%D9%85%DB%8C_%D8%AF%D9%87%D8%AF_%D8%A7%DB%8C%D9%86_%D8%A8%D9%84%D9%88%DA%A9_%D8%B1%D8%A7_%DA%A9%D9%87_%D8%A8%D9%87_%D8%B7%D9%88%D8%B1_%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1_VimPlug_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%D9%85%DB%8C_%DA%A9%D9%86%D8%AF%D8%8C_%D8%AF%D8%B1_%D8%A8%D8%A7%D9%84%D8%A7%DB%8C_%D9%85%D8%A7_%D9%82%D8%B1%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C%D9%85_vimrc\"><\/span>\n<p>  \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u0627\u06cc\u0646 \u0628\u0644\u0648\u06a9 \u0631\u0627 \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 VimPlug \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u062f\u060c \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u0645\u0627 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u0645 <code>~\/.vimrc<\/code>.<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight viml\"><code><span class=\"k\">function<\/span><span class=\"p\">!<\/span> VimplugInstaller<span class=\"p\">()<\/span>\n  <span class=\"k\">let<\/span> data_dir <span class=\"p\">=<\/span> <span class=\"nb\">has<\/span><span class=\"p\">(<\/span><span class=\"s1\">'nvim'<\/span><span class=\"p\">)<\/span> ? stdpath<span class=\"p\">(<\/span><span class=\"s1\">'data'<\/span><span class=\"p\">)<\/span> <span class=\"p\">.<\/span> <span class=\"s1\">'\/site'<\/span> <span class=\"p\">:<\/span> <span class=\"s1\">'~\/.vim'<\/span>\n  <span class=\"k\">if<\/span> <span class=\"nb\">empty<\/span><span class=\"p\">(<\/span><span class=\"nb\">glob<\/span><span class=\"p\">(<\/span>data_dir <span class=\"p\">.<\/span> <span class=\"s1\">'\/autoload\/plug.vim'<\/span><span class=\"p\">))<\/span>\n    <span class=\"k\">silent<\/span> <span class=\"nb\">execute<\/span> <span class=\"s1\">'!curl -fLo '<\/span><span class=\"p\">.<\/span>data_dir<span class=\"p\">.<\/span><span class=\"s1\">'\/autoload\/plug.vim --create-dirs  https:\/\/raw.githubusercontent.com\/junegunn\/vim-plug\/master\/plug.vim'<\/span>\n    autocmd <span class=\"nb\">VimEnter<\/span> * PlugInstall <span class=\"p\">--<\/span><span class=\"k\">sync<\/span> <span class=\"p\">|<\/span> <span class=\"k\">source<\/span> $MYVIMRC\n  <span class=\"k\">endif<\/span>\n<span class=\"k\">endfunction<\/span>\n\n<span class=\"k\">call<\/span> VimplugInstaller<span class=\"p\">()<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"%DA%86%D9%86%D8%AF%DB%8C%D9%86_%D9%BE%D9%84%D8%A7%DA%AF%DB%8C%D9%86_%D8%B6%D8%B1%D9%88%D8%B1%DB%8C_%D8%AF%D9%86%D8%A8%D8%A7%D9%84_%D9%85%DB%8C_%D8%B4%D9%88%D8%AF\"><\/span>\n<p>  \u0686\u0646\u062f\u06cc\u0646 \u067e\u0644\u0627\u06af\u06cc\u0646 \u0636\u0631\u0648\u0631\u06cc \u062f\u0646\u0628\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight viml\"><code><span class=\"k\">call<\/span> plug#begin<span class=\"p\">()<\/span>\n\nPlug <span class=\"s1\">'neoclide\/coc.nvim'<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span><span class=\"s1\">'branch'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'release'<\/span><span class=\"p\">}<\/span>\nPlug <span class=\"s1\">'https:\/\/github.com\/preservim\/tagbar.git'<\/span>\nPlug <span class=\"s1\">'vim-php\/phpctags'<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span><span class=\"s1\">'for'<\/span><span class=\"p\">:<\/span><span class=\"s1\">'php'<\/span><span class=\"p\">}<\/span>\nPlug <span class=\"s1\">'honza\/vim-snippets'<\/span>\nPlug <span class=\"s1\">'SirVer\/ultisnips'<\/span>\nPlug <span class=\"s1\">'tpope\/vim-commentary'<\/span>\nPlug <span class=\"s1\">'sheerun\/vim-polyglot'<\/span>\nPlug <span class=\"s1\">'jwalton512\/vim-blade'<\/span>\n\n<span class=\"k\">call<\/span> plug#end<span class=\"p\">()<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0647\u0645\u062a\u0631\u06cc\u0646 \u0622\u0646\u0647\u0627\u060c coc.nvim \u0627\u0633\u062a.  \u0628\u0642\u06cc\u0647 \u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0632\u0648\u062f\u06cc \u0628\u0647 \u0622\u0646\u0647\u0627 \u062e\u0648\u0627\u0647\u06cc\u0645 \u067e\u0631\u062f\u0627\u062e\u062a\u060c \u0627\u0645\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0627\u0646\u062c\u0627\u0645\u060c \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f \u0686\u0646\u062f \u0627\u0641\u0632\u0648\u0646\u0647 \u0628\u0631\u0627\u06cc coc.nvim \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u0645 \u0648 \u0633\u0627\u06cc\u0631 \u067e\u0644\u0627\u06af\u06cc\u0646 \u0647\u0627 \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight viml\"><code><span class=\"c\">\"===[Coc.nvim]===\"<\/span>\ninoremap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;&lt;<\/span>expr<span class=\"p\">&gt;<\/span> <span class=\"p\">&lt;<\/span>CR<span class=\"p\">&gt;<\/span> coc#pum#visible<span class=\"p\">()<\/span> ? coc#_select_confirm<span class=\"p\">()<\/span> <span class=\"p\">:<\/span> <span class=\"s2\">\"\\<c-g>u\\<cr>\"<\/cr><\/c-g><\/span>\n<span class=\"c\">\" use <tab> to trigger completion and navigate to the next complete item<\/tab><\/span>\n<span class=\"k\">function<\/span><span class=\"p\">!<\/span> CheckBackspace<span class=\"p\">()<\/span> abort\n  <span class=\"k\">let<\/span> <span class=\"k\">col<\/span> <span class=\"p\">=<\/span> <span class=\"k\">col<\/span><span class=\"p\">(<\/span><span class=\"s1\">'.'<\/span><span class=\"p\">)<\/span> <span class=\"p\">-<\/span> <span class=\"m\">1<\/span>\n  <span class=\"k\">return<\/span> <span class=\"p\">!<\/span><span class=\"k\">col<\/span> <span class=\"p\">||<\/span> <span class=\"nb\">getline<\/span><span class=\"p\">(<\/span><span class=\"s1\">'.'<\/span><span class=\"p\">)[<\/span><span class=\"k\">col<\/span> <span class=\"p\">-<\/span> <span class=\"m\">1<\/span><span class=\"p\">]<\/span>  <span class=\"p\">=~<\/span># <span class=\"s1\">'\\s'<\/span>\n<span class=\"k\">endfunction<\/span>\n\ninoremap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;&lt;<\/span>expr<span class=\"p\">&gt;<\/span> <span class=\"p\">&lt;<\/span>Tab<span class=\"p\">&gt;<\/span>\n<span class=\"se\">      \\<\/span> coc#pum#visible<span class=\"p\">()<\/span> ? coc#pum#<span class=\"k\">next<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">:<\/span>\n<span class=\"se\">      \\<\/span> CheckBackspace<span class=\"p\">()<\/span> ? <span class=\"s2\">\"\\<tab>\"<\/tab><\/span> <span class=\"p\">:<\/span>\n<span class=\"se\">      \\<\/span> coc#refresh<span class=\"p\">()<\/span>\ninoremap <span class=\"p\">&lt;<\/span>expr<span class=\"p\">&gt;&lt;<\/span>s<span class=\"p\">-<\/span><span class=\"k\">tab<\/span><span class=\"p\">&gt;<\/span> coc#pum#visible<span class=\"p\">()<\/span> ? coc#pum#<span class=\"k\">prev<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">:<\/span> <span class=\"s2\">\"\\<c-h>\"<\/c-h><\/span>\n\n<span class=\"c\">\" Enhanced <cr> for pairs<\/cr><\/span>\ninoremap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;&lt;<\/span>expr<span class=\"p\">&gt;<\/span> <span class=\"p\">&lt;<\/span>CR<span class=\"p\">&gt;<\/span> coc#pum#visible<span class=\"p\">()<\/span> ? coc#pum#<span class=\"k\">confirm<\/span><span class=\"p\">()<\/span>\n<span class=\"se\">            \\<\/span><span class=\"p\">:<\/span> <span class=\"s2\">\"\\<c-g>u\\<cr>\\<c-r>=coc#on_enter()\\<cr>\"<\/cr><\/c-r><\/cr><\/c-g><\/span>\n\n<span class=\"c\">\" Disable &lt; expansion for pairs<\/span>\nautocmd <span class=\"nb\">FileType<\/span> * <span class=\"k\">let<\/span> <span class=\"nv\">b:coc_pairs_disabled<\/span> <span class=\"p\">=<\/span> <span class=\"p\">[<\/span><span class=\"s2\">\"&lt;\"<\/span><span class=\"p\">]<\/span>\n\n<span class=\"c\">\"===[ Coc-Explorer ]===\"<\/span>\n<span class=\"c\">\" set up coc-explorer to open in the current directory<\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:coc_explorer_global_mirror<\/span> <span class=\"p\">=<\/span> <span class=\"m\">0<\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:coc_explorer_disable_default_keybindings<\/span> <span class=\"p\">=<\/span> <span class=\"m\">1<\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:coc_explorer_global_root<\/span> <span class=\"p\">=<\/span> <span class=\"s1\">'current'<\/span>\nnnoremap <span class=\"p\">&lt;<\/span>space<span class=\"p\">&gt;<\/span><span class=\"k\">e<\/span> <span class=\"p\">&lt;<\/span>Cmd<span class=\"p\">&gt;<\/span>CocCommand explorer<span class=\"p\">&lt;<\/span>CR<span class=\"p\">&gt;<\/span>\n\n<span class=\"c\">\"===[ Coc Global Extensions ]===\"<\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:coc_global_extensions<\/span> <span class=\"p\">=<\/span> <span class=\"p\">[<\/span>\n<span class=\"se\">  \\<\/span> <span class=\"s1\">'coc-html'<\/span><span class=\"p\">,<\/span>\n<span class=\"se\">  \\<\/span> <span class=\"s1\">'coc-css'<\/span><span class=\"p\">,<\/span>\n<span class=\"se\">  \\<\/span> <span class=\"s1\">'coc-pairs'<\/span><span class=\"p\">,<\/span>\n<span class=\"se\">  \\<\/span> <span class=\"s1\">'coc-emmet'<\/span><span class=\"p\">,<\/span>\n<span class=\"se\">  \\<\/span> <span class=\"s1\">'coc-explorer'<\/span><span class=\"p\">,<\/span>\n<span class=\"se\">  \\<\/span> <span class=\"s1\">'coc-phpactor'<\/span><span class=\"p\">,<\/span>\n<span class=\"se\">  \\<\/span> <span class=\"s1\">'coc-laravel'<\/span><span class=\"p\">,<\/span>\n<span class=\"se\">  \\<\/span> <span class=\"s1\">'coc-blade'<\/span>\n<span class=\"se\">\\<\/span> <span class=\"p\">]<\/span>\n\n<span class=\"c\">\" GoTo code navigation<\/span>\nnmap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;<\/span> <span class=\"nb\">gd<\/span> <span class=\"p\">&lt;<\/span>Plug<span class=\"p\">&gt;(<\/span>coc<span class=\"p\">-<\/span>definition<span class=\"p\">)<\/span>\nnmap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;<\/span> gy <span class=\"p\">&lt;<\/span>Plug<span class=\"p\">&gt;(<\/span>coc<span class=\"p\">-<\/span><span class=\"nb\">type<\/span><span class=\"p\">-<\/span>definition<span class=\"p\">)<\/span>\nnmap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;<\/span> gi <span class=\"p\">&lt;<\/span>Plug<span class=\"p\">&gt;(<\/span>coc<span class=\"p\">-<\/span>implementation<span class=\"p\">)<\/span>\nnmap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;<\/span> <span class=\"k\">gr<\/span> <span class=\"p\">&lt;<\/span>Plug<span class=\"p\">&gt;(<\/span>coc<span class=\"p\">-<\/span>references<span class=\"p\">)<\/span>\n\n<span class=\"c\">\" Use `[g` and `]g` to navigate diagnostics<\/span>\n<span class=\"c\">\" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list<\/span>\nnmap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;<\/span> <span class=\"p\">[<\/span><span class=\"k\">g<\/span> <span class=\"p\">&lt;<\/span>Plug<span class=\"p\">&gt;(<\/span>coc<span class=\"p\">-<\/span>diagnostic<span class=\"p\">-<\/span><span class=\"k\">prev<\/span><span class=\"p\">)<\/span>\nnmap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;<\/span> <span class=\"p\">]<\/span><span class=\"k\">g<\/span> <span class=\"p\">&lt;<\/span>Plug<span class=\"p\">&gt;(<\/span>coc<span class=\"p\">-<\/span>diagnostic<span class=\"p\">-<\/span><span class=\"k\">next<\/span><span class=\"p\">)<\/span>\n<span class=\"c\">\"<\/span>\n<span class=\"c\">\" List code actions available for the current buffer<\/span>\nnmap <span class=\"p\">&lt;<\/span>leader<span class=\"p\">&gt;<\/span><span class=\"k\">ca<\/span>  <span class=\"p\">&lt;<\/span>Plug<span class=\"p\">&gt;(<\/span>coc<span class=\"p\">-<\/span>codeaction<span class=\"p\">)<\/span>\n\nnnoremap <span class=\"p\">&lt;<\/span><span class=\"k\">silent<\/span><span class=\"p\">&gt;<\/span> K <span class=\"p\">:<\/span><span class=\"k\">call<\/span> ShowDocumentation<span class=\"p\">()&lt;<\/span>CR<span class=\"p\">&gt;<\/span>\n<span class=\"k\">function<\/span><span class=\"p\">!<\/span> ShowDocumentation<span class=\"p\">()<\/span>\n  <span class=\"k\">if<\/span> CocAction<span class=\"p\">(<\/span><span class=\"s1\">'hasProvider'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'hover'<\/span><span class=\"p\">)<\/span>\n    <span class=\"k\">call<\/span> CocActionAsync<span class=\"p\">(<\/span><span class=\"s1\">'doHover'<\/span><span class=\"p\">)<\/span>\n  <span class=\"k\">else<\/span>\n    <span class=\"k\">call<\/span> <span class=\"nb\">feedkeys<\/span><span class=\"p\">(<\/span><span class=\"s1\">'K'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'in'<\/span><span class=\"p\">)<\/span>\n  <span class=\"k\">endif<\/span>\n<span class=\"k\">endfunction<\/span>\n\n<span class=\"c\">\" Add `:Format` command to format current buffer<\/span>\ncommand<span class=\"p\">!<\/span> <span class=\"p\">-<\/span>nargs<span class=\"p\">=<\/span><span class=\"m\">0<\/span> Format <span class=\"p\">:<\/span><span class=\"k\">call<\/span> CocActionAsync<span class=\"p\">(<\/span><span class=\"s1\">'format'<\/span><span class=\"p\">)<\/span>\n<span class=\"c\">\" Formatting selected code<\/span>\nvmap <span class=\"p\">&lt;<\/span>leader<span class=\"p\">&gt;<\/span><span class=\"k\">f<\/span>  <span class=\"p\">&lt;<\/span>Plug<span class=\"p\">&gt;(<\/span>coc<span class=\"p\">-<\/span>format<span class=\"p\">-<\/span>selected<span class=\"p\">)<\/span>\n\n<span class=\"c\">\" coc-pairs<\/span>\n<span class=\"c\">\" disable characters for a specified filetypes<\/span>\nautocmd <span class=\"nb\">FileType<\/span> markdown <span class=\"k\">let<\/span> <span class=\"nv\">b:coc_pairs_disabled<\/span> <span class=\"p\">=<\/span> <span class=\"p\">[<\/span><span class=\"s1\">'txt'<\/span><span class=\"p\">]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06a9\u062f \u0628\u0627\u0644\u0627\u060c \u062a\u06a9\u0645\u06cc\u0644 \u0628\u0631\u06af\u0647\u060c \u062c\u0641\u062a\u200c\u0647\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631\u060c \u06a9\u0627\u0648\u0634\u06af\u0631 \u0641\u0627\u06cc\u0644 coc-explorer \u0648 \u062f\u06cc\u06af\u0631 \u06a9\u0644\u06cc\u062f\u200c\u0628\u0627\u06cc\u062f\u06cc\u0646\u06af\u200c\u0647\u0627 \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0628\u06cc\u0634\u062a\u0631\u06cc\u0646 \u0628\u0647\u0631\u0647 \u0631\u0627 \u0627\u0632 coc.nvim \u0628\u0628\u0631\u06cc\u062f.<br \/>\u062f\u0631 \u0642\u0633\u0645\u062a coc global extension \u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0635\u0628 \u0634\u0648\u0646\u062f.  \u0645\u0646 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u0645 \u0627\u0632 phpactor \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0622\u0646 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f <code>coc-intelephense<\/code>.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A8%DB%8C%D8%A7%DB%8C%DB%8C%D8%AF_%D9%82%D8%B7%D8%B9%D8%A7%D8%AA_%D8%B1%D8%A7_%D9%86%DB%8C%D8%B2_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D9%85\"><\/span>\n<p>  \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0642\u0637\u0639\u0627\u062a \u0631\u0627 \u0646\u06cc\u0632 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0633\u0646\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc\u0645\u0627\u0646 \u0631\u0627 \u0628\u0627 coc.nvim \u0646\u06cc\u0632 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u0645\u060c \u0627\u0645\u0627 \u0645\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 UltiSnips \u0631\u0627 \u0628\u0631\u0627\u06cc \u0622\u0646 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u06cc\u200c\u06a9\u0646\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight viml\"><code><span class=\"c\">\"===[ SNIPPETS ]===\"<\/span>\n<span class=\"c\">\"Use Ctrl j key to trigger the snippets, default was TAB but that conflicts with<\/span>\n<span class=\"c\">\"The Completion trigger see :h keycodes to change this to sth else <\/span>\n<span class=\"c\">\"Use Ctrl j and k to move visually within the snippet that was just triggered<\/span>\n<span class=\"c\">\"Ctrl l lists the available snippets<\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:UltiSnipsExpandTrigger<\/span><span class=\"p\">=<\/span><span class=\"s1\">'<c-j>'<\/c-j><\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:UltiSnipsListSnippets<\/span><span class=\"p\">=<\/span><span class=\"s1\">'<c-l>'<\/c-l><\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:UltiSnipsJumpForwardTrigger<\/span><span class=\"p\">=<\/span><span class=\"s1\">'<c-j>'<\/c-j><\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:UltiSnipsJumpBackwardTrigger<\/span><span class=\"p\">=<\/span><span class=\"s1\">'<c-k>'<\/c-k><\/span>\n<span class=\"k\">let<\/span> <span class=\"nv\">g:copypath_copy_to_unnamed_register<\/span> <span class=\"p\">=<\/span> <span class=\"m\">1<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>Vim \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0632 \u0622\u0646 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0622\u0646 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u0646\u062a\u0638\u0631 \u0628\u0645\u0627\u0646\u06cc\u062f \u062a\u0627 \u0627\u0641\u0632\u0648\u0646\u0647 \u0647\u0627 \u0648 \u0627\u0641\u0632\u0648\u0646\u0647 \u0647\u0627 \u0646\u0635\u0628 \u0634\u0648\u0646\u062f. <\/p>\n<p>\u0627\u06af\u0631 \u067e\u06cc\u0627\u0645 \u062e\u0637\u0627 \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0634\u062f\u060c \u06a9\u0627\u0641\u06cc \u0627\u0633\u062a \u0627\u06cc\u0646\u062a\u0631 \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0645\u0646\u062a\u0638\u0631 \u0628\u0645\u0627\u0646\u06cc\u062f \u062a\u0627 \u0627\u0641\u0632\u0648\u0646\u0647 \u0647\u0627 \u0648 \u0627\u0641\u0632\u0648\u0646\u0647 \u0647\u0627 \u0646\u0635\u0628 \u0634\u0648\u0646\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%DA%A9%D9%86%D9%88%D9%86_%D8%A7%D8%AC%D8%A7%D8%B2%D9%87_%D9%85%DB%8C%E2%80%8C%D8%AF%D9%87%DB%8C%D9%85_%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C_coc_%D8%B1%D8%A7_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%DA%A9%D9%86%DB%8C%D9%85\"><\/span>\n<p>  \u0627\u06a9\u0646\u0648\u0646 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645 \u0627\u0641\u0632\u0648\u0646\u0647\u200c\u0647\u0627\u06cc coc \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645.<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0635\u0627\u062f\u0631 \u06a9\u0646\u062f <code>:CocConfig<\/code> \u0627\u0632 \u062d\u0627\u0644\u062a \u0641\u0631\u0645\u0627\u0646 Vim \u062f\u0633\u062a\u0648\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062f\u0627\u062e\u0644 \u0641\u0627\u06cc\u0644 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"p\">{<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"suggest.noselect\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"kc\">true<\/span><span class=\"p\">,<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"explorer.icon.enableNerdfont\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"kc\">true<\/span><span class=\"p\">,<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"explorer.file.reveal.auto\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"kc\">true<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"languageserver\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n        <\/span><span class=\"nl\">\"phpactor\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">{<\/span><span class=\"w\">\n            <\/span><span class=\"nl\">\"command\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"phpactor\"<\/span><span class=\"p\">,<\/span><span class=\"w\">\n            <\/span><span class=\"nl\">\"args\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">[<\/span><span class=\"s2\">\"language-server\"<\/span><span class=\"p\">],<\/span><span class=\"w\">\n            <\/span><span class=\"nl\">\"trace.server\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"verbose\"<\/span><span class=\"p\">,<\/span><span class=\"w\">\n            <\/span><span class=\"nl\">\"filetypes\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"p\">[<\/span><span class=\"s2\">\"php\"<\/span><span class=\"p\">]<\/span><span class=\"w\">\n        <\/span><span class=\"p\">}<\/span><span class=\"w\">\n    <\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u06cc\u062f \u0627\u0632 \u0646\u0635\u0628 \u0645\u062d\u0644\u06cc phpactor \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0641\u0642\u0637 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f <code>coc-phpactor<\/code> \u0628\u0627 <code>:CocUninstall coc-phpactor<\/code> \u0648 \u0627\u0635\u0644\u0627\u062d \u06a9\u0646\u06cc\u062f <code>~\/.vim\/coc-settings.json<\/code> \u0628\u0631\u0627\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u0633\u06cc\u0631\u06cc \u0628\u0647 \u0641\u0627\u06cc\u0644 \u0627\u062c\u0631\u0627\u06cc\u06cc phpactor \u0648 \u062d\u0630\u0641 \u06a9\u0627\u0645\u0644 \u0628\u0644\u0648\u06a9 \u0633\u0631\u0648\u0631 \u0632\u0628\u0627\u0646.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"p\">{<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"phpactor.enable\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"kc\">true<\/span><span class=\"p\">,<\/span><span class=\"w\">\n    <\/span><span class=\"nl\">\"phpactor.path\"<\/span><span class=\"p\">:<\/span><span class=\"w\"> <\/span><span class=\"s2\">\"\/usr\/bin\/phpactor\"<\/span><span class=\"p\">,<\/span><span class=\"w\">\n<\/span><span class=\"p\">}<\/span><span class=\"w\">\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"%DA%A9%D9%84%DB%8C%D8%AF%D8%A8%D9%86%D8%AF%DB%8C_%D9%87%D8%A7\"><\/span>\n<p>  \u06a9\u0644\u06cc\u062f\u0628\u0646\u062f\u06cc \u0647\u0627:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u062a\u0646\u0647\u0627 \u06a9\u0644\u06cc\u062f\u200c\u0628\u0627\u06cc\u062f\u06cc\u0646\u06af\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0628\u062f\u0627\u0646\u06cc\u062f\u060c \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u06a9\u0644\u06cc\u062f\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627\u06cc \u0645\u0639\u0645\u0648\u0644 Vim\u060c \u0639\u0628\u0627\u0631\u062a\u0646\u062f \u0627\u0632:<\/p>\n<div class=\"table-wrapper-paragraph\">\n<table>\n<thead>\n<tr>\n<th>\u06a9\u0644\u06cc\u062f<\/th>\n<th>\u0639\u0645\u0644<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tab<\/td>\n<td>\u062a\u06a9\u0645\u06cc\u0644<\/td>\n<\/tr>\n<tr>\n<td>gd<\/td>\n<td>\u062a\u0639\u0631\u06cc\u0641<\/td>\n<\/tr>\n<tr>\n<td>gy<\/td>\n<td>\u062a\u0639\u0631\u06cc\u0641 \u0646\u0648\u0639<\/td>\n<\/tr>\n<tr>\n<td>gi<\/td>\n<td>\u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc<\/td>\n<\/tr>\n<tr>\n<td>\u06af\u0631\u0645<\/td>\n<td>\u0645\u0646\u0627\u0628\u0639<\/td>\n<\/tr>\n<tr>\n<td>[g<\/td>\n<td>diagnostics prev<\/td>\n<\/tr>\n<tr>\n<td>]g<\/td>\n<td>\u062a\u0634\u062e\u06cc\u0635 \u0628\u0639\u062f\u06cc<\/td>\n<\/tr>\n<tr>\n<td>\u062d\u062f\u0648\u062f<\/td>\n<td>\u0627\u0642\u062f\u0627\u0645\u0627\u062a \u06a9\u062f<\/td>\n<\/tr>\n<tr>\n<td>\u06a9<\/td>\n<td>\u0627\u0633\u0646\u0627\u062f \u0634\u0646\u0627\u0648\u0631<\/td>\n<\/tr>\n<tr>\n<td>f (\u062f\u0631 \u062d\u0627\u0644\u062a \u0628\u0635\u0631\u06cc)<\/td>\n<td>\u06a9\u062f \u0642\u0627\u0644\u0628<\/td>\n<\/tr>\n<tr>\n<td>Ctrl-j<\/td>\n<td>Snippet \u0631\u0627 \u0628\u0632\u0631\u06af \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 Placeholder \u0628\u0639\u062f\u06cc \u0628\u0631\u0648\u06cc\u062f<\/td>\n<\/tr>\n<tr>\n<td>Ctrl+k<\/td>\n<td>\u0628\u0647 \u0645\u06a9\u0627\u0646\u200c\u06af\u0631\u062f\u0627\u0646 \u0642\u0628\u0644\u06cc \u0628\u0631\u0648\u06cc\u062f<\/td>\n<\/tr>\n<tr>\n<td>Ctrl-l<\/td>\n<td>\u0641\u0647\u0631\u0633\u062a \u0627\u0633\u0646\u06cc\u067e\u062a \u0647\u0627<\/td>\n<\/tr>\n<tr>\n<td>Space-e<\/td>\n<td>Explorer \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0627\u0631\u0622\u0645\u062f \u0648 \u0631\u0627\u062d\u062a \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u0628\u0627 PHP \u0648 \u0644\u0627\u0631\u0627\u0648\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AC%D8%A7%D8%B2%D9%87_%D9%85%DB%8C_%D8%AF%D9%87%D8%AF_%D8%AA%D8%A7_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%DA%86%DB%8C%D8%B2_%D8%AF%DB%8C%DA%AF%D8%B1_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B1%D8%A7%D8%AD%D8%AA%DB%8C_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D9%85\"><\/span>\n<p>  \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0686\u0646\u062f\u06cc\u0646 \u0686\u06cc\u0632 \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0631\u0627\u062d\u062a\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h4><span class=\"ez-toc-section\" id=\"%D9%85%D9%88%D8%B6%D9%88%D8%B9\"><\/span>\n<p>  \u0645\u0648\u0636\u0648\u0639:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0627\u06cc\u0646 \u0627\u0641\u0632\u0648\u0646\u0647 \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0644\u06cc\u0633\u062a \u0627\u0641\u0632\u0648\u0646\u0647 \u0647\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0627 \u0622\u0646 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f <code>:PlugInstall<\/code>  \u067e\u0633 \u0627\u0632 \u062a\u0627\u0645\u06cc\u0646 \u0645\u0646\u0627\u0628\u0639 <code>~\/.vimrc<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight viml\"><code>Plug <span class=\"s1\">'ryanoasis\/vim-devicons'<\/span>\nPlug <span class=\"s1\">'catppuccin\/vim'<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"s1\">'as'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'catppuccin'<\/span> <span class=\"p\">}<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"Vim_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D8%AA%D9%85_%D9%85%D8%AD%D8%A8%D9%88%D8%A8_catppuccin_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  Vim \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0645 \u0645\u062d\u0628\u0648\u0628 catppuccin \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight viml\"><code><span class=\"c\">\"===[ Theme ]===\"<\/span>\n<span class=\"k\">set<\/span> <span class=\"nb\">background<\/span><span class=\"p\">=<\/span><span class=\"nb\">dark<\/span>\n<span class=\"c\">\" Inspect $TERM instead of t_Co<\/span>\n<span class=\"k\">if<\/span> &amp;<span class=\"nb\">term<\/span> <span class=\"p\">=~<\/span> <span class=\"s1\">'256color'<\/span>\n    <span class=\"c\">\" Enable true (24-bit) colors instead of (8-bit) 256 colors.<\/span>\n    <span class=\"k\">if<\/span> <span class=\"nb\">has<\/span><span class=\"p\">(<\/span><span class=\"s1\">'termguicolors'<\/span><span class=\"p\">)<\/span>\n        <span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_8f<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\\<esc>[38;2;%lu;%lu;%lum\"<\/esc><\/span>\n        <span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_8b<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\\<esc>[48;2;%lu;%lu;%lum\"<\/esc><\/span>\n        <span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_TI<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\"<\/span>\n        <span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_TE<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\"<\/span>\n        <span class=\"k\">set<\/span> <span class=\"nb\">termguicolors<\/span>\n        <span class=\"k\">set<\/span> <span class=\"nb\">mouse<\/span><span class=\"p\">=<\/span><span class=\"k\">a<\/span>\n        <span class=\"k\">colorscheme<\/span> catppuccin_mocha\n    <span class=\"k\">endif<\/span>\n    <span class=\"k\">else<\/span>\n        <span class=\"k\">colorscheme<\/span> catppuccin_mocha\n        <span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_TI<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\"<\/span>\n        <span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_TE<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\"<\/span>\n<span class=\"k\">endif<\/span>\n\n<span class=\"k\">if<\/span> <span class=\"nb\">has<\/span><span class=\"p\">(<\/span><span class=\"s1\">'gui_running'<\/span><span class=\"p\">)<\/span>\n    <span class=\"k\">set<\/span> <span class=\"nb\">mouse<\/span><span class=\"p\">=<\/span><span class=\"k\">a<\/span>\n    <span class=\"k\">set<\/span> <span class=\"nb\">guicursor<\/span><span class=\"p\">+=<\/span><span class=\"nv\">a:blinkon0<\/span>\n    <span class=\"k\">set<\/span> <span class=\"nb\">guifont<\/span><span class=\"p\">=<\/span>FiraCodeNerdFont\\ <span class=\"m\">12<\/span>\n    <span class=\"k\">colorscheme<\/span> catppuccin_mocha\n<span class=\"k\">endif<\/span>\n\n<span class=\"c\">\"===[ Curosr Shape ]===\"<\/span>\n<span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_SI<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\\<esc>[6 q\"<\/esc><\/span>\n<span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_SR<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\\<esc>[4 q\"<\/esc><\/span>\n<span class=\"k\">let<\/span> &amp;<span class=\"nb\">t_EI<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\\<esc>[2 q\"<\/esc><\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0644\u0648\u06a9 \u0628\u0627\u0644\u0627 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f vim \u0627\u0632 \u0631\u0646\u06af\u200c\u0647\u0627\u06cc termgui (\u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0628\u0627 \u0642\u0627\u0628\u0644\u06cc\u062a termgui) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u062f \u0648 \u0627\u0632 \u0627\u0634\u06a9\u0627\u0644 \u0645\u06a9\u0627\u0646\u200c\u0646\u0645\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0627\u06cc \u062d\u0627\u0644\u062a\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u062f.<br \/>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 <code>$TERM<\/code> \u06af\u0632\u0627\u0631\u0634 \u0647\u0627\u06cc \u0645\u062a\u063a\u06cc\u0631 <code>xterm-256color<\/code>.<\/p>\n<p>\u062f\u0631 \u062a\u0635\u0648\u06cc\u0631 \u0632\u06cc\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f phpactor\u060c coc-explorer \u0648 tagbar \u0631\u0627 \u062f\u0631 \u062d\u0627\u0644 \u06a9\u0627\u0631 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f. <br \/>\u0645\u0646 \u06cc\u06a9 \u062e\u0637\u0627 \u062f\u0631 \u0646\u062d\u0648 \u06af\u0630\u0627\u0634\u062a\u0645 \u062a\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0646\u0634\u0627\u0646 \u062f\u0647\u0645 \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc \u062f\u0631\u0648\u0646 \u062e\u0637\u06cc \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a.<\/p>\n<p><\/p>\n<p>\u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0628\u0627 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0648 \u062f\u0633\u062a\u0648\u0631\u0627\u062a coc.nvim \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f.<\/p>\n<p>\u0645\u062b\u0644\u0627 \u062f\u0648\u06cc\u062f\u0646 <code>:CocDiagnostics<\/code> \u06cc\u06a9 \u06a9\u0634\u0648 \u0628\u0627 \u062a\u0645\u0627\u0645 \u062e\u0637\u0627\u0647\u0627\u06cc \u06cc\u0627\u0641\u062a \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 coc.nvim \u0628\u0627\u0632 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.dev.to\/cdn-cgi\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmpf6v3ehn7qfo75q9bc.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"417\" title=\"\"><\/p>\n<p>\u0628\u0627 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u0627\u06cc\u0646\u062a\u0631 \u0631\u0648\u06cc \u0647\u0631 \u0645\u0648\u0631\u062f\u060c \u0628\u0647 \u062e\u0637 \u062d\u0627\u0648\u06cc \u062e\u0637\u0627 \u0645\u06cc\u200c\u0631\u0648\u06cc\u062f.<\/p>\n<p>\u0645\u0646 \u0646\u062a\u0648\u0627\u0646\u0633\u062a\u0645 \u06cc\u06a9 \u067e\u0644\u0627\u06af\u06cc\u0646 phpdoc \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc Vim \u067e\u06cc\u062f\u0627 \u06a9\u0646\u0645\u060c \u0627\u0645\u0627 \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0622\u0646\u060c \u0627\u06cc\u0646 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0645\u0648\u062b\u0631 \u0627\u0633\u062a.  \u062a\u0646\u0647\u0627 \u0686\u06cc\u0632\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u067e\u0644\u0627\u06af\u06cc\u0646 \u0647\u0627\u06cc \u062f\u0644\u062e\u0648\u0627\u0647 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0645\u0642\u0627\u0628\u0644\u0647 \u0628\u0627 git \u0648 \u06cc\u0627\u0641\u062a\u0646 \u0641\u0627\u0632\u06cc \u0627\u0633\u062a.<\/p>\n<p>\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0627\u0645\u0644 \u0645\u0646 \u0631\u0627 \u062f\u0631 github (\u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b \u062f\u0631 \u0634\u0627\u062e\u0647 Devel) Woland&#8217;s Vim \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0627\u06af\u0631 \u0646\u06a9\u062a\u0647 \u06cc\u0627 \u0633\u0648\u0627\u0644\u06cc \u062f\u0627\u0631\u06cc\u062f\u060c \u0644\u0637\u0641\u0627 \u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f. <\/p>\n<p>\u0622\u06cc\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u0627\u0632 \u0627\u06cc\u0646 \u0628\u0627 Nvim \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645\u061f <br \/>\u0628\u0644\u0647\u060c \u0634\u0645\u0627 \u0641\u0642\u0637 \u0628\u0627\u06cc\u062f \u062a\u0645\u0627\u0645 \u06a9\u062f\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f <code>~\/.config\/nvim\/init.vim<\/code><\/p>\n<p>\u0686\u0631\u0627 \u0627\u0632 Nvim \u0628\u0627 lspconfig \u0648 cmp \u0648 \u063a\u06cc\u0631\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u0645\u06cc \u06a9\u0646\u06cc\u062f\u061f<br \/>\u0632\u06cc\u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0632\u0645\u0627\u0646 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0637\u0648\u0644 \u0645\u06cc\u200c\u06a9\u0634\u062f \u0648 \u0646\u062a\u0627\u06cc\u062c \u0628\u0647\u062a\u0631 \u0627\u0632 \u0686\u06cc\u0632\u06cc \u0646\u06cc\u0633\u062a \u06a9\u0647 coc \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0646 \u0628\u06cc\u0634\u062a\u0631 \u0642\u0635\u062f \u062f\u0627\u0631\u0645 \u0633\u0641\u0631 \u062e\u0648\u062f\u0645 \u0631\u0627 \u062f\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc Vim (\u0646\u0647 Neovim!) \u0628\u0631\u0627\u06cc PHP \u0648 laravel \u0645\u0633\u062a\u0646\u062f \u06a9\u0646\u0645. \u0628\u0627 \u062e\u06cc\u0627\u0644 \u0631\u0627\u062d\u062a \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u0627\u0632 Vim+VimPlug+CoC.nvim \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f nodej \u0648 npm \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u0645. \u0646\u0627\u06af\u0641\u062a\u0647 \u0646\u0645\u0627\u0646\u062f \u06a9\u0647 \u0628\u0627\u06cc\u062f Vim8+ \u0631\u0627 \u0646\u06cc\u0632 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0646\u0633\u062e\u0647 \u0641\u0639\u0644\u06cc Vim \u062f\u0631 \u062d\u0627\u0644 \u0646\u0648\u0634\u062a\u0646 \u0627\u06cc\u0646 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":66993,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-66992","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/66992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=66992"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/66992\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/66993"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=66992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=66992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=66992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}