Many people ask for the best IDE for programming contests where you don't need all the features than eclipse, Netbeans or VS has, there are many simple editors but only a few editors are really worth using.
Far Manager is a great tool for training in programming comptetitions because you can add lots of plugins avalible for it and extend the power like acced to ftp server, open compressed files, syntax highlighting, etc..
Far Manager has an simple editor than you can use for write source code and test data for a problem, you can also manage your files, preview text files and execute system commands to call compilers.
What is Far Manager?
The oficial site says:" Far Manager is a program for managing files and archives in Windows operating systems. "
Download
You can download Far Manager here, i strongly recommend download the latest nightly build in archive mode.After download is finished uncompress the .7z file in a folder called Far then run far.exe.
The Basics
Read the problem statement of Theatre Square, i use the solutions of t__nt in C++ for explain the basics of Far Manager.1: #include <cstdio>
2:
3: int n, m, a;
4:
5: int main() {
6: scanf("%d%d%d", &n, &m, &a);
7: printf("%lld\n", ((n + a - 1LL) / a) * ((m + a - 1LL) / a));
8: return 0;
9: }
The main screen contains two panels and the command line, you can rename, delete, create and view files or folders also copy or move files or folders between panels.
In the command line using the plugin farcmds you can call system commands like type echo and others.
Make a folder called codeforces where you will put your source code pressing F7.
Type cd codeforces the press Shift + F4 for create a new file: theatre.cpp
Now you can type the source code and save pressing F2.
Close the file pressing F10.
For compile the source code, assuming g++ is in the Path, type far:view <g++ -o theatre.exe theatre.cpp and you'll see the compiler messages, quit with F10 too.
Now create your input file theatre.in with the next content:
6 6 4
Run your program typing far:view <theatre <theatre.in
Syntax Highlighting
Colorer is a plugin for Far Manager than allow you highlight the source code for many languages, you can download here and uncompress into the Plugins folder.After restart far you can view:
There are several interesting features which are not covered in the post.
Typing each time "g++ bla.cpp" is kind of annoying (even though linux-guys like doing so)
Moreover, if you use Visual C++ compiler, which is more common case for Windows user, path to cl is not even in PATH.
There's a very nice workaround - press F9, in the menu appeared choose Commands->File Associations, press Ins, then for mask enter "*.cpp", for description something reasonable, line "C++ Source File" and for execute command something like
g++ !.!
or, if you use visual studio,
C:\"Program Files"\"Microsoft Visual Studio 10.0"\VC\vcvarsall.bat && C:\"Program Files"\"Microsoft Visual Studio 10.0"\VC\bin\cl.exe !.! && del !.obj
(don't forget to change path to visual studio)
Also, for java you can create associations for java compiler (extension: *.java, command: javac !.!) and java classes (extension: *.class, command: java !). For python (extension *.py, command: python !.!)
For C#
C:\Windows\Microsoft.NET\Framework\v4.0.30128\csc.exe /o !.!
(don't forget to change path to .NET framework)
After that you can compile source file by just pressing enter on them, which in most cases grant you higher productivity than any other IDE, as Far behaves much faster, and allows you to switch between different source files or between source file and input or between source file and output faster.
sorry, I followed the instructions, but I have to type "far:view <g++ -o theater.exe theater.cpp" to compile
Yeah, Far is a very powerful IDE. But to my mind it is useful only in olympiads and tiny projects. Using a debugger with Far is not a trivial task. Thus to debug a program one can use only console output and code reading. This forces you to search bugs not by tracing the program but by careful reading one line after another.
Being able to find bugs while reading the code is very useful in ACM-like contests. A computer is a bottleneck so it's better to use it for writing solutions than for searching bugs.
Our team solved this problem.
At the beginning we created a project in Visual Studio called "template" with one file: solution.cpp
When we are going to solve problem X, we just copy "template" project into X directory and start to write code in solution.cpp file. If anything goes wrong, we just press Enter at the template.vcproj file and Visual Studio opens, ready to debug our code, written in Far.
What is [b][url=http://www.replica-watch-sale.com/]Breitling[/url][/b]? Do you know [b][url=http://www.replica-watch-sale.com/]Breitling Watches[/url][/b]? Buy these [b][url=http://www.replica-watch-sale.com/]Breitling Watches sale[/url][/b] on line.More [b][url=http://www.replica-watch-sale.com/]cheap Breitling Watches[/url][/b] for sale! 岩姐测试!如有雷同,纯属巧合!
What is <a href=http://www.replica-watch-sale.com/>Breitling</a>? Do you know <a href=http://www.replica-watch-sale.com/>Breitling Watches</a>? Buy these <a href=http://www.replica-watch-sale.com/>Breitling Watches sale</a> on line.More <a href=http://www.replica-watch-sale.com/>cheap Breitling Watches</a> for sale! 岩姐测试!如有雷同,纯属巧合!
Это свидетельствует о росте популярности ресурса))
Скоро при регистрации будут писать обход в ширину, наверное))
But it's hard to me write or navigate in MC, so I still using vim+bash+kate under linux :)
vim + Kate? How does that work together? :D
Kate is a main editor (for code, samples, etc) and vim is used when I need to create or fix some file which is not opened in Kate (or if I don't want to switch windows). Another usecase is to open very big file (editors usually fail with this one).
does anyone knows another trick?
А есть ли версия FAR или плагин с поддержкой Redo?
Если нет, то как без столь нужной вещи обходятся те, кто используют FAR на контестах?
спасибо, работает!
видать докрутили фичу, т.к. раньше не было, а ленивый гуглинг натыкался ток на просьбы сделать.
The project far2l is now functional and wonderful!
Я не очень понимаю английский, поэтому можете поподробнее объяснить как компилировать исходники на c++ с помощью g++. Точнее, что именно написать в командной строке, т.к. у меня выдает, что g++ не является командой.
Можно по другому. Создаёшь батник в папке с твоим решением (.bat) и в нём пишешь :
Пример :
Можно батник получше замутить - на Enter компиляцию поставить, у меня так сделано.
Ой, действительно. Они лишние. Вообще они проверяют, есть ли нужный файл. Я с тех пор перенастроил FAR немного, батники старые остались.
UPD. Перезалил.
:) Я просто всегда без ифов писал.
К примеру программа hello.cpp которая выводит Hello, world! Надоедает рутина в данном случае:
-Нажимать enter
-Потом открывать откомпилированый hello.exe
-А потом нажимать ctrl-o, чтобы посмотреть результат hello.exe
Можно это как-то сократить, чтобы по нажатию enter сразу показывал результат hello.exe?
Потом открывать откомпилированый hello.exe
Что ты имеешь в виду?
ну т.е. запускать hello.exe потом он закрывается тут же, а потом нужно смотреть результат работы hello.exe
ты хочешь просто нажать на hello.cpp и если нету ошибки компиляций, то сразу же запустилась hello.exe?
да
ctrl+u(чтобы перейти в правую часть), F5(Режим: последний измененный файл будет сверху), ← для того чтобы быстро перейти на вверх. Замени ctrl+o на ctrl+p, будет удобно просто посмотреть на левую часть для того чтобы увидеть ошибки. Теперь все будет быстро и легко.
Как уменьшить шрифт текста в far-e?
Это в свойствах консоли: правой кнопкой на заголовок окна и далее выбираете свойства/умолчания. Там вроде даже можно задать "всегда для этой программы"
In Linux I used gedit with MC
I think I'm not really getting it. What is the advantage of this over a good shell + editor combination like GNU EMACS or vim? Scriptability is hardly a good argument because any given piece of GNU software can be scripted
Can you compare this program with Vim/gVim. Vim is also a powerful tool too.
I am trying to compile in far manager, if i install g++ on terminal it will compile? what i have to do ?
For anyone curious, the syntax highlighting is included "since post build 3200", so if you download one of the newer builds of far manager, far colorer(the syntax highlighter) is already included.
I will strongly recommend Geany for Linux. It's very simple and you don't have most of the unuseful things that Eclipse and other IDEs have. I haven't tried it on Windows but I thing there is a version for it.
How to set up and use indentation in Far manager ??
F9 — Options — Editor settings. I'd recommend checking "Auto indent" and adjusting "Tab size". You can also use Alt+I for adding one space of identation to the selected block and Alt+U for removing one space of identation.
P.S. I'd also recommend checking "Del removes blocks" (otherwise Del will remove just one character and not the selection),
Thanks a lot :)
How can I select a block to delete? Ctr + A is useful but I can't select a block which I want to delete.Please Help :)
As you would do in almost any Windows editor (Word, Notepad, Notepad++): hold Shift (current text cursor position will be selection block's start) and move text cursor with arrows/Home/End/PgUp/PgDn/etc to choose selection block's end.
What's the meaning of [x] before the setting operations?
[ ]
is like a checkbox in GUI — it's either unchecked ([ ]
, meaning "option is disabled") or checked ([x]
, meaning "option is enabled").I still have a problem to set Macro so that I needn't to input a long instruction to compile or compile and run my cpp files, can you tell me how to do it?
You'd better use file associations for that. What exactly do you want your macro to do and in which situation?
As your suggestion, I want to compile and run my program just type Ctrl + F9(for example) with defined Macro, so where and how should I to edit my Macro?
Macros work on very low level: they just emulate key presses. So, for example, macro configured to compile and run from inside the editor won't work in other situations (moreover, it would do something ridiculous).
You start from the situation where you want to run your macro, press Ctrl+Shift+dot once, then perform all necessary actions to compile the program (avoid typing filename, for example, as it may be different in different times), then press Ctrl+Shift+dot once again. Then set a hotkey for the macro. Then, whenever you will press that hotkey, your macro will be played.
You will probably get something like
Escape; Enter
— exit the editor, then compile the file (via file associations).How would you accommodate for different file names? Additionally, how would you delete the entire line the cursor is at? Ctrl+Shift+Backspace tends to be too time consuming.
If you talk about file associations, use special symbols (press F1 in the "Edit file association" window to get help — English is available as well). The most useful is
!
— file name without extension. So, my compilation command isg++ !.cpp -o !.exe -ggdb -DDEBUG -std=c++11 -O2 -Wl,--stack=256000000 -Wall -Wextra -Wshadow
Ctrl+Y deletes current line. Again, you can get list of hotkeys by pressing F1 in the editor.
How to install that g++ thing? I downloaded installation file from here https://sourceforge.net/projects/mingw/ and then marked all stuff in "Basic Setup" and installed it. I didn't restart computer, but Far Manager still doesn't recognize g++ option.
@IAmNomad you must set the path in your environment variables(in windows) to that of the bin folder of mingw. You can google setting up a path for gcc to get a detailed solution. After setting the path I think a restart of FarManager is enough(I am not sure for me I had sublime and restart was enough).
Thanks, worked!
Why does error
"The procedure entry point __gxx_personality_v0 could not be located in the dynamic link library C:\Work\sol.exe"
occur?Solution is easy: add
-static-libgcc -static-libstdc++
I know this is a little late but I can't seem to locate this in the English documentation.
How do you find the absolute path of a file in far manager and push it to the clipboard?
I have seen on multiple screencasts of yours and Gennady's that you copy the path of a file from Far and paste it into the website for quick submission.
Looks like you can press Ctrl+Alt+Insert to copy full path of the selected file into clipboard. I didn't know that yet, thank you! Found that under F1 — Keyboard reference — Panel Control.
My previous workflow was to put selection on
..
, press Ctrl+Enter to type full directory path in command line, then press Ctrl+Insert to copy command line's content into clipboard, then press Ctrl+Home to move cursor to command line's beginning and finally press Ctrl+K to remove everything in the command line till its end. Now I have directory's path in the clipboard, I can paste it into file selection dialog and the select the file with mouse.for example, I set ctrl + F9 equals "g++ !.cpp -o !.exe -ggdb -DDEBUG -std=c++11 -O2 -Wl,--stack=256000000 -Wall -Wextra -Wshadow", when I was editing A.cpp, I ran ctrl + F9, but nothing happened, why?
How exactly did you set
Ctrl+F9
to run something? Maybe it's for file panes only?yes, I set it at file panes, what's the correct way to set it? thanks
How exactly did you set Ctrl+F9 to run something?
press ctrl + shift + dot and then press all the compile command and press ctrl + shift + dot again and then enter ctrl + F9
I see. It's called a macro, and it simply remembers what keys you've pressed and repeats them once you press Ctrl+F9. Say, if you've recorded these commands while being in the file pane, they probably do something very stupid when being run from the editor.
SO what's the correct way to do this ? QAQ
http://codeforces.me/blog/entry/21669
How can we use snippets (like in sublime text) in far manager?
I don't think it's a built-in functionality, but you may try plugins like True Template or Text Templates. I haven't used any of them, though.
Hi, I have a question. How do I install the True Template? I used the github files, but couldn't find any .dll files for the True Template. Hence, there still doesn't exist any Plugin Commands for the template in Far.
I know its late but for anyone who has the same issue, this is the latest version as for now.. TrueTemplate-3.0.2.zip
oh, thanks a lot.
btw, should i just extract them the files into the Plugins folder of Far Manager?
UPD: yeah, it works. that's a relief.
np, btw have you ever faced crash while saving file with F2 key? Its really annoying me during live contests(crash has managed to happened at the worst possible time multiple times now) and i dont want to switch to vim permanently :(
sir yeputons
don't we have auto completion and automatic templates in far manager ?
Never heard of that and never used. Maybe there are some plugins.
Well, it was not me who started necroposting. Rumors there are, FAR is now available for Linux
Well,when I When I type a newline,the cursor will always return to the beginning of the line.How can I solve this problem?In my opinion,when I type a new line ,the cursor will align with the previous line.
I want :
but not :
Enable autoindent feature in the editor settings.
thanks,I did not read all the above exchange,yeputons had already solved this problem ,he said `F9 — Options — Editor settings. I'd recommend checking "Auto indent" and adjusting "Tab size". You can also use Alt+I for adding one space of identation to the selected block and Alt+U for removing one space of identation.
P.S. I'd also recommend checking "Del removes blocks" (otherwise Del will remove just one character and not the selection),`
nice tutorial
I can't seem to compile my C++ program when following Hernan's instructions. I have the right g++ and gdb. Can someone help me? Thanks in advance.
Far is great. However I cant use Auto Bracketing which was my favourite feature. Has anybody solved this issue?
I dont think so you can use auto bracketing in far manager.
How do I comment multiple lines in Far Editor?
Ctrl+/ isn't working
I think this is the one tourist uses as his Editor
Don't you think tagging him is unnecessary :/
.
yeputons sir, My Far Manager crashes sometimes when i save changes made to my code and then i have to restart far and the changes which i made are not saved and i cant find anything on the internet...unfortunately, i cant keep using far during contests if this continues, please help.
If someone is facing a similar issue, I was previously running Far from the shortcut I pinned to my taskbar but now I always run Far from CMD and it has never crashed since, so that's that and finally, many thanks to this wonderfully supportive thread.
Ancient thread, but for mac users, here is a port that I just discovered today — https://github.com/elfmz/far2l. Works almost flawlessly!
Yep, it is a great initiative. I even took a little part in the development, implemented the auto-completion plugin https://github.com/elfmz/far2l/pull/310