How different are FPGAs made by different manufacturers (IE Xilinx and Altera) ? If I learned how to use one, how hard would it be to use the other after that?
Hardly at all. Unless you care about the higher end of performance (hundreds of MHz upwards) It's mostly about the size, pincount, memory/package options and peripherals like clock generators, memory, special IO functions like DDR memory interfaces, PCI etc.
The bread & butter functionality is basically the same.
The HDL hides the low-level detail. The only differences are in the I/O options, how the clock generators (PLLs,DCMs), memory and other 'extras' are implemented. In many cases you won't be using many, if any of these.
In some cases you can the code more portable as, for example, things like memories and multipliers can be invoked either using native VHDL operations (arrays and * operations), or explicitly by including the appropriate components. However with the former approach you need to check that the compiler has interpreted your code as you expected - manufacturers typically give guidelines on how to do this.
The step from nothing to _any_ fpga is much, much bigger than between different families or manufacturers.
It's similar to the situation with micros and C - the language is mostly the same, the peripherals are the main difference.
Again like micros, devtools are at least as big a difference as the hardware -
I've never used Altera, but Xilinx and Lattice are based on the same software, so if you know one, the other is an easy switch.